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

作者:徐刘根 时间:2021-06-27 02:10:39 

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

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

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

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

进入 流量监控

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

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

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

来源:https://blog.csdn.net/xlgen157387/article/details/42062623

标签:android,离线文档,访问速度慢
0
投稿

猜你喜欢

  • 关于springcloud集成nacos遇到的问题

    2022-02-27 17:41:46
  • 使用Mybatis-Plus时的SqlSessionFactory问题及处理

    2022-01-30 07:40:04
  • Java 线程的优先级(setPriority)案例详解

    2023-11-12 23:46:39
  • Android进阶Handler应用线上卡顿监控详解

    2022-12-21 11:31:00
  • 详解Java多态对象的类型转换与动态绑定

    2021-10-12 06:59:59
  • 浅谈c++性能测试工具之计算时间复杂度

    2023-07-09 12:40:05
  • Android获取ROOT权限的实例代码

    2022-09-10 01:24:05
  • Java 格式化输出JSON字符串的2种实现操作

    2023-11-13 09:41:10
  • 如何安装系统认证签名过的APK

    2023-07-24 21:35:40
  • java Spring MVC4环境搭建实例详解(步骤)

    2021-11-17 05:08:08
  • SpringCloud hystrix断路器与局部降级全面介绍

    2023-10-28 17:29:11
  • SpringBoot 如何整合 ES 实现 CRUD 操作

    2022-03-24 03:10:31
  • Spring中自动注入的两种方式总结

    2022-10-24 08:54:14
  • Java带返回值的方法的定义和调用详解

    2022-10-05 21:01:09
  • 关于Maven的使用,这些你都真的了解么

    2022-01-02 14:19:08
  • Spring Boot Actuator监控端点小结

    2023-02-15 05:04:23
  • 详细聊聊如何在C#循环中捕获局部变量

    2021-10-30 17:05:13
  • c# 关闭窗体时提示的小例子

    2021-11-10 19:08:18
  • Android图片加载缓存框架Glide

    2021-11-13 12:43:02
  • Android中访问sdcard路径的几种方式

    2023-06-23 08:08:59
  • asp之家 软件编程 m.aspxhome.com