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ā)者,至少有那么兩三個吧?。瑏碜鳛樵L問該離線文檔的游覽器,比如我的是用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-12Android編程之內(nèi)存溢出解決方案(OOM)實例總結(jié)
這篇文章主要介紹了Android編程之內(nèi)存溢出解決方案(OOM),結(jié)合實例實例總結(jié)分析了Android編程過程中常見的內(nèi)存溢出情況與對應(yīng)的解決方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11Android中Handler實現(xiàn)倒計時的兩種方式
本篇文章主要介紹了Android中Handler實現(xiàn)倒計時的兩種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07Android在OnCreate中獲取控件的寬度和高度的實現(xiàn)代碼
在Android中,有時需要對控件進行測量,得到的控件寬度和高度可以用來做一些計算。在需要自適應(yīng)屏幕的情況下,這種計算就顯得特別重要2012-11-11Android Mms之:聯(lián)系人管理的應(yīng)用分析
本篇文章是對Android中的聯(lián)系人管理進行了詳細的分析介紹,需要的朋友參考下2013-05-05Android 調(diào)用系統(tǒng)應(yīng)用的方法總結(jié)
這篇文章主要介紹了Android 調(diào)用系統(tǒng)應(yīng)用的方法總結(jié)的相關(guān)資料,這里提供調(diào)用錄像,錄音,拍照等功能,需要的朋友可以參考下2017-08-08Android.mk文件中添加第三方j(luò)ar文件的方法
這篇文章主要介紹了Android.mk文件中添加第三方j(luò)ar文件及引用第三方j(luò)ar包的方法,需要的朋友可以參考下2018-01-01