很多Android开发者在参考Android官方API时,都有一个令人头疼的问题:打开一个index.html平均都需要几分钟甚至更长,尤其是在打开API 8以上的版本的时候。难道是网速不够好?但笔者使用的是网通8M的宽带,所以基本上可以排除网速的问题。难道是浏览器的问题?笔者尝试分别使用IE11、谷歌浏览器、火狐浏览器、遨游等主流的浏览器来测试打开速度,发现都是一样慢的像蜗牛!最后,笔者无奈只好查看API页面源代码,发现页面加载的有这样两端代码:
<!-- STYLESHEETS --> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" title="roboto"><pre name="code" class="html"><!-- JAVASCRIPT --> <script src="http://www.google.com/jsapi" type="text/javascript"></script>
这不仅让笔者联想到最近无法登陆谷歌账户的问题,谷歌的浏览器是设在国外的、所以当每次打开本地Android API文档时都会从谷歌国外的服务器上下载css样式和js文件。所以导致打开API页面的速度会变得特别的慢。
知道原因之后笔者想出的几个解决办法,和大家分享一下:
第一个最直接的方法就是:既然网页要下载css样式和js文件那就把网络关闭这样速度就快了。
第二个方法:第一个方法因为每次打开API参考文档的时候都要主动的关闭网络,尤其正在使用网络的时候显得不是特别的方便。那是否有一个两全其美的方法呢?
从上面的源码中可以看出:API页面是从http://fonts.googleapis.com/和http://www.google.com网址上下载文件的,如果能让主机不从这两个网址上下载文件不就解决问题了吗!这就需要用到网络方面的知识了:每个主机都有一个Hosts文件,该文件的作用是当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。下面我们就在Hosts文件文件上做点手脚:
在:C:\Windows\System32\drivers\etc\下的文件中HOSTS增加如下两句:
127.0.0.1 fonts.googleapis.com
127.0.0.1 www.google.com
上面两行代码的意思是告诉主机http://fonts.googleapis.com/和http://www.google.com域名对应的IP就是它自己!这样在每次打开API文档的时候就不用从国外的服务器上在下载文件了!
试一试是不是速度提高了不少!
提高打开Android本地文档的速度