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,當我們需要訪問的時候,我們可以使用 騰訊管家 360等 把游覽器設置為 ---禁止訪問網(wǎng)絡,然后就可以訪問了!
具體我的過程是:我使用的是騰訊管家,右鍵點解小火箭
進入 流量監(jiān)控
然后找到chrome 點擊右鍵 第一選項---禁止訪問網(wǎng)絡 就可以了
當我們需要使用chrome訪問網(wǎng)絡的時候,在按照上圖 允許范圍跟網(wǎng)絡就可以了!
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
Android中Handler實現(xiàn)倒計時的兩種方式
本篇文章主要介紹了Android中Handler實現(xiàn)倒計時的兩種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07Android在OnCreate中獲取控件的寬度和高度的實現(xiàn)代碼
在Android中,有時需要對控件進行測量,得到的控件寬度和高度可以用來做一些計算。在需要自適應屏幕的情況下,這種計算就顯得特別重要2012-11-11