前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android离线Doc文档访问速度慢的有效解决方法

Android离线Doc文档访问速度慢的有效解决方法

作者头像
砸漏
发布2020-11-05 10:35:20
6150
发布2020-11-05 10:35:20
举报
文章被收录于专栏:恩蓝脚本

(1)我们在访问Android的离线文档,是非常慢的,由于需要加载一些图片或者是动态的脚本语言js代码,

网上的解决方法是删除所有的js含有链接的代码,这种方法不但笨拙,还不可以有效解决;

写一个java文件,运行后即可快速访问doc

代码语言:javascript
复制
import java.io.BufferedReader; 
import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileFilter; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.util.Map; 
import java.util.UUID; 
public class AndroidDoc { 
private static final String ANDROID_SDK_HOME = "ANDROID_SDK_HOME"; 
private static final String TAG = "<script src=\"http://www.google.com/jsapi\" type=\"text/javascript\" </script "; 
private static String androidSDKHome; 
public static void main(String[] args) { 
Map<String, String  map = System.getenv(); 
androidSDKHome = map.get(ANDROID_SDK_HOME); 
if (androidSDKHome != null) { 
System.out.println("Detected the Android SDK Installation path:"
+ androidSDKHome); 
File docs = new File(androidSDKHome + "\\docs"); 
System.out.println("It will take several minutes, please wait..."); 
traverse(docs); 
System.out 
.println("Operation Down!!! Now you can visit Android Doc without waiting..."); 
} else { 
System.out 
.println("Please configure the Android SDK Environment variable (ANDROID_SDK_HOME)!"); 
} 
} 
/** 
* 遍历Android SDK安装目录下的docs目录 
* 
* @param dir 
*/
private static void traverse(File dir) { 
if (dir.isDirectory()) { 
File[] files = dir.listFiles(new FileFilter() { 
@Override
public boolean accept(File file) { 
if (file.isFile() && file.getName().endsWith(".html")) { 
BufferedReader reader = null; 
try { 
reader = new BufferedReader(new FileReader(file)); 
String buffer; 
while ((buffer = reader.readLine()) != null) { 
if (buffer.trim().equalsIgnoreCase(TAG)) { 
return true; 
} 
} 
} catch (Exception e) { 
e.printStackTrace(); 
} finally { 
try { 
reader.close(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
} 
} else if (file.isDirectory()) { 
return true; 
} 
return false; 
} 
}); 
for (File file : files) { 
if (file.isDirectory()) { 
System.out.println("Scanning Folder:"
+ file.getAbsolutePath()); 
traverse(file); 
} else { 
doChange(file); 
} 
} 
} 
} 
/** 
* 注释html中的某行Javascript代码 
* 
* @param file 
* @return 
*/
private static boolean doChange(File file) { 
System.out.println("Extracting File:" + file.getAbsolutePath() + "..."); 
String desPath = file.getParent() + "\\" + UUID.randomUUID().toString() + ".html"; 
File des = new File(desPath); 
BufferedReader reader = null; 
BufferedWriter writer = null; 
try { 
des.createNewFile(); 
reader = new BufferedReader(new FileReader(file)); 
writer = new BufferedWriter(new FileWriter(des)); 
String buffer; 
while ((buffer = reader.readLine()) != null) { 
if (buffer.trim().equalsIgnoreCase(TAG)) { 
buffer = "<!--" + TAG + "-- "; 
} 
writer.write(buffer + "\n"); 
writer.flush(); 
} 
return true; 
} catch (FileNotFoundException e) { 
e.printStackTrace(); 
} catch (IOException e) { 
e.printStackTrace(); 
} finally { 
try { 
reader.close(); 
writer.close(); 
file.delete(); 
des.renameTo(file); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
} 
return false; 
} 
} 

编译运行后,即可

(2)我的方法是,是有一个单独的游览器(作为开发者,至少有那么两三个吧!),来作为访问该离线文档的游览器,比如我的是用google,当我们需要访问的时候,我们可以使用 腾讯管家 360等 把游览器设置为 —禁止访问网络,然后就可以访问了!

具体我的过程是:我使用的是腾讯管家,右键点解小火箭

进入 流量监控

然后找到chrome 点击右键 第一选项—禁止访问网络 就可以了

当我们需要使用chrome访问网络的时候,在按照上图 允许范围跟网络就可以了!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档