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
投稿

猜你喜欢

  • springboot集成开发实现商场秒杀功能

    2022-06-23 11:05:27
  • Android之获取手机内部及sdcard存储空间的方法

    2022-11-11 13:10:18
  • C#警惕匿名方法造成的变量共享实例分析

    2021-08-26 19:35:22
  • Mybatis逆向工程运行代码实例

    2021-06-22 04:54:59
  • Unity键盘WASD实现物体移动

    2021-06-14 13:46:21
  • Android实现关机重启的方法分享

    2022-11-13 21:32:33
  • spring框架集成flyway项目的详细过程

    2023-09-14 11:47:14
  • Java中instanceof关键字的用法总结

    2022-12-11 15:52:27
  • 详解Java程序读取properties配置文件的方法

    2022-03-09 17:26:23
  • 详解java基于MyBatis使用示例

    2023-11-25 09:01:45
  • 详解SpringBoot注解读取配置文件的方式

    2023-08-05 02:51:16
  • java hasNextInt判断是否为数字的方法

    2023-05-17 01:51:12
  • 一文详解kafka序列化器和拦截器

    2023-06-18 01:06:08
  • Java单元测试工具之JUnit的使用

    2022-09-05 13:20:54
  • Spring的@RequestParam对象绑定方式

    2023-02-03 21:05:35
  • java获取json中的全部键值对实例

    2023-08-23 19:53:03
  • spring boot 注入 property的三种方式(推荐)

    2023-01-23 05:10:27
  • Java语法中Lambda表达式无法抛出异常的解决

    2022-10-13 01:04:43
  • mybatis的动态SQL和模糊查询实例详解

    2022-03-10 09:47:03
  • java实现幸运抽奖功能

    2023-11-27 07:24:16
  • asp之家 软件编程 m.aspxhome.com