Android離線Doc文檔訪問速度慢的有效解決方法
(1)我們在訪問Android的離線文檔,是非常慢的,由于需要加載一些圖片或者是動態(tài)的腳本語言js代碼,
網(wǎng)上的解決方法是刪除所有的js含有鏈接的代碼,這種方法不但笨拙,還不可以有效解決;
寫一個java文件,運行后即可快速訪問doc
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)我的方法是,是有一個單獨的游覽器(作為開發(fā)者,至少有那么兩三個吧?。?,來作為訪問該離線文檔的游覽器,比如我的是用google,當(dāng)我們需要訪問的時候,我們可以使用 騰訊管家 360等 把游覽器設(shè)置為 ---禁止訪問網(wǎng)絡(luò),然后就可以訪問了!
具體我的過程是:我使用的是騰訊管家,右鍵點解小火箭

進入 流量監(jiān)控

然后找到chrome 點擊右鍵 第一選項---禁止訪問網(wǎng)絡(luò) 就可以了
當(dāng)我們需要使用chrome訪問網(wǎng)絡(luò)的時候,在按照上圖 允許范圍跟網(wǎng)絡(luò)就可以了!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- Android使用google breakpad捕獲分析native cash
- Android應(yīng)用動態(tài)修改主題的方法示例
- Android樣式和主題之選擇器的實例講解
- Android點擊Button實現(xiàn)切換點擊圖片效果的示例
- Android開發(fā)實現(xiàn)切換主題及換膚功能示例
- Android單選按鈕RadioButton的使用詳解
- Android開關(guān)控件Switch的使用案例
- Android開發(fā)實現(xiàn)的保存圖片到相冊功能示例
- Android開發(fā)之組件GridView簡單使用方法示例
- Android文字基線Baseline算法的使用講解
相關(guān)文章
Android實現(xiàn)淘寶底部圖標(biāo)導(dǎo)航欄
這篇文章主要為大家詳細介紹了Android實現(xiàn)淘寶底部圖標(biāo)導(dǎo)航欄,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
Android編程之內(nèi)存溢出解決方案(OOM)實例總結(jié)
這篇文章主要介紹了Android編程之內(nèi)存溢出解決方案(OOM),結(jié)合實例實例總結(jié)分析了Android編程過程中常見的內(nèi)存溢出情況與對應(yīng)的解決方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
Android中Handler實現(xiàn)倒計時的兩種方式
本篇文章主要介紹了Android中Handler實現(xiàn)倒計時的兩種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
Android在OnCreate中獲取控件的寬度和高度的實現(xiàn)代碼
在Android中,有時需要對控件進行測量,得到的控件寬度和高度可以用來做一些計算。在需要自適應(yīng)屏幕的情況下,這種計算就顯得特別重要2012-11-11
Android Mms之:聯(lián)系人管理的應(yīng)用分析
本篇文章是對Android中的聯(lián)系人管理進行了詳細的分析介紹,需要的朋友參考下2013-05-05
Android 調(diào)用系統(tǒng)應(yīng)用的方法總結(jié)
這篇文章主要介紹了Android 調(diào)用系統(tǒng)應(yīng)用的方法總結(jié)的相關(guān)資料,這里提供調(diào)用錄像,錄音,拍照等功能,需要的朋友可以參考下2017-08-08
Android.mk文件中添加第三方j(luò)ar文件的方法
這篇文章主要介紹了Android.mk文件中添加第三方j(luò)ar文件及引用第三方j(luò)ar包的方法,需要的朋友可以參考下2018-01-01

