Fix Android help document open slow
The Netizen said is because the doc directory in the HTML file contains access to Google js file
<link rel= "stylesheet" href= "Http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic, Mediumitalic,bold "title=" Roboto ">
And
<script src= "Http://www.google.com/jsapi" type= "Text/javascript" ></script>
It is true that this has been checked.
Since these two lines of script need to access Google online, it is obvious that subsequent content loading will slowly and slowly ...
What do we do?
Open the. html file in each directory to manually delete the top two lines of content? Will definitely delete the pain. It was suggested that:
method One: Modify the Hosts file
This solution, Modify the Hosts file in the C:\WINDOWS\system32\drivers\etc directory to add
127.0.0.1 fonts.googleapis.com
127.0.0.1www.google.com
127.0.0.1Www.google.com/jsapi
127.0.0.1Www.google-analytics.com
127.0.0.1 apis.google.com/js/
The speed will improve a lot.
method Two: Write the Java program Bulk annotation
Traverse all files in the doc directory, delete the top two lines of each file, refer to
/* * Remove JavaScript code that requires networking in Android documents */import Java.io.bufferedreader;import Java.io.bufferedwriter;import java.io.File ; Import Java.io.filenotfoundexception;import Java.io.filereader;import Java.io.filewriter;import Java.io.ioexception;public class Formatdoc {public static int j=1; /** * @param args */public static void main (string[] args) {File file = new file ("d:/android/a Ndroid-sdk-windows/docs/"); Searchdirectory (file, 0); System.out.println ("over"); } public static void Searchdirectory (File f, int depth) {if (!f.isdirectory ()) {String fileName = f . GetName (); if (Filename.matches (". *.{ 1}html ")) {String src= < (link rel) [=]\" (stylesheet) \ "\ n (HREF) [=]\] (HTTP)://(FONTS.GOOGLEAPIS.COM/CSS) [ ?] (family) [=] (Roboto) [:] (Regular,medium,thin,italic,mediumitalic,bold) \ "(title) [=]\" roboto\ ">"; String src1 = "<script src=\" http://www.google.com/jsapi\ "type=\" Text/javascript\ "></script>"; String DST = ""; If it is an HTML file, comment out the specific JavaScript code annotation (f, SRC, DST); Annotation (f, src1, DST); }} else {file[] fs = F.listfiles (); depth++; for (int i = 0; i < fs.length; ++i) {File file = Fs[i]; Searchdirectory (file, depth); }}}//* F to modify the contents of the file * src will be replaced content * DST will be replaced with the content of the layer */public static void annotation (File F, string src, string dst) {String content = Formatdoc.read (f); Content = Content.replacefirst (src, DST); int Ll=content.lastindexof (SRC); System.out.println (LL); Formatdoc.write (content, f); System.out.println (j + +); Return public static String read (File src) {stringbuffer res = new StringBuffer (); String line = null; try {BufferedReader reader = new BufferedreadER (new FileReader (SRC)); int i=0; while (line = Reader.readline ()) = null) {if (i!=0) {res.append (' \ n '); } res.append (line); i++; } reader.close (); } catch (FileNotFoundException e) {e.printstacktrace (); } catch (IOException e) {e.printstacktrace (); } return res.tostring (); public static Boolean write (String cont, File Dist) {try {bufferedwriter writer = new Bufferedwri ter (new FileWriter (Dist)); Writer.write (cont); Writer.flush (); Writer.close (); return true; } catch (IOException e) {e.printstacktrace (); return false; } }}
method Three: Execute the script
Through the shell to delete the line JS code, very simple and convenient, than the above Java convenient 100 times times, but can not delete the first section of JS code.
Find. -name "*.html" |xargs grep-l "Jsapi" |xargs sed-i '/jsapi/d '
I haven't tried.
Life is short, I use Python
method Four: Python code bulk Delete
Idea: Traverse the doc or docs directory and subdirectories, find all. html files, open these files, read the contents of the file, replace the above JS content is empty, write the changes back to the file, the end.
It's complicated, and it's really simple to implement in Python.
Import Oss1 = "<link rel=" stylesheet "href=" Http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin, Italic,mediumitalic,bold "title=" Roboto ">" s2 = "<script src=" Http://www.google.com/jsapi "type=" text/ JavaScript "></script>" s3 = "<script type=" Text/javascript "async=" "src=" Https://apis.google.com/js /plusone.js "></script>" s4 = "<script type=" Text/javascript "async=" "src="/HTTP/ Www.google-analytics.com/ga.js "></script>" for Root,dirs,files in Os.walk (R ' C:\AndroidSdk\docs '): For file in Files: fd = root + os.sep + file if ". html" in FD: print fd f = open (fd, ' R ') s = F.read () . replace (S1, ""). Replace (S2, ""). Replace (S3, ""). Replace (S4, "") F.close () f = open (fd, ' W ') F.write (s) F.close ()
Caught dead explained that, assuming that my Android development help document under C:\androidsdk\docs, traversing all directories and filenames under it can only be done with the OS walk function.
For Root,dirs,files in Os.walk (R ' C:\AndroidSdk\docs '):
The walk return value, the directory root that is currently traversed, what subdirectories are under it dirs, what files are available, and what is important is recursive traversal of the specified directory C:\AndroidSdk\docs.
Get rid of the HTML file two of the effect of the speed of JS, the first HTML file,
For file in Files: fd = root + os.sep + file
All file names are constructed to find (match). html files just like this
If ". html" in FD: print FD
Next is to kill the shadow display (speed) of the JS, the replacement file in the corresponding content is empty.
f = open (fd, ' r ') s = F.read (). Replace (S1, ""). Replace (S2, ""). Replace (S3, ""). Replace ( S4, "") F.close () f = Open (FD, ' W ') f.write (s) f.close ()
Run it, 1 minutes to run the end of the entire docs under a total of more than 9,000 files, traversal, read and write time.
Finally find a doc and try C:\AndroidSdk\docs\reference\android\widget\Spinner.html.
The speed, the leverage.
I'm using a python2.7.5.
Oh, welcome to reply to criticism! or Praise!
Python Https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi
Android Development Help Docs doc Open slow solve _python article