溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android離線Doc文檔訪問(wèn)速度慢怎么辦

發(fā)布時(shí)間:2021-06-21 15:17:29 來(lái)源:億速云 閱讀:98 作者:小新 欄目:移動(dòng)開(kāi)發(fā)

這篇文章主要介紹Android離線Doc文檔訪問(wèn)速度慢怎么辦,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

(1)我們?cè)谠L問(wèn)Android的離線文檔,是非常慢的,由于需要加載一些圖片或者是動(dòng)態(tài)的腳本語(yǔ)言js代碼,

網(wǎng)上的解決方法是刪除所有的js含有鏈接的代碼,這種方法不但笨拙,還不可以有效解決;

寫(xiě)一個(gè)java文件,運(yùn)行后即可快速訪問(wèn)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; 
  } 
}

編譯運(yùn)行后,即可

(2)我的方法是,是有一個(gè)單獨(dú)的游覽器(作為開(kāi)發(fā)者,至少有那么兩三個(gè)吧?。?,來(lái)作為訪問(wèn)該離線文檔的游覽器,比如我的是用google,當(dāng)我們需要訪問(wèn)的時(shí)候,我們可以使用  騰訊管家  360等 把游覽器設(shè)置為 ---禁止訪問(wèn)網(wǎng)絡(luò),然后就可以訪問(wèn)了!

具體我的過(guò)程是:我使用的是騰訊管家,右鍵點(diǎn)解小火箭

Android離線Doc文檔訪問(wèn)速度慢怎么辦

進(jìn)入 流量監(jiān)控

Android離線Doc文檔訪問(wèn)速度慢怎么辦

然后找到chrome 點(diǎn)擊右鍵  第一選項(xiàng)---禁止訪問(wèn)網(wǎng)絡(luò)  就可以了

當(dāng)我們需要使用chrome訪問(wèn)網(wǎng)絡(luò)的時(shí)候,在按照上圖  允許范圍跟網(wǎng)絡(luò)就可以了!

以上是“Android離線Doc文檔訪問(wèn)速度慢怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI