非常多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文档时都会从谷歌国外的server上下载css样式和js文件。
所以导致打开API页面的速度会变得特别的慢。
知道原因之后笔者想出的几个解决的方法。和大家分享一下:
第一个最直接的方法就是:既然网页要下载css样式和js文件那就把网络关闭这样速度就快了。
第二个方法:第一个方法由于每次打开API參考文档的时候都要主动的关闭网络,尤其正在使用网络的时候显得不是特别的方便。那是否有一个两全其美的方法呢?
从上面的源代码中能够看出:API页面是从http://fonts.googleapis.com/和http://www.google.com网址上下载文件的。假设能让主机不从这两个网址上下载文件不就解决这个问题了吗!
这就须要用到网络方面的知识了:每一个主机都有一个Hosts文件。该文件的作用是当用户在浏览器中输入一个须要登录的网址时,系统会首先自己主动从Hosts文件里寻找相应的IP地址,一旦找到,系统会马上打开相应网页。假设没有找到,则系统再会将网址提交DNS域名解析server进行IP地址的解析。以下我们就在Hosts文件文件上做点手脚:
在:C:WindowsSystem32driversetc下的文件里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文档的时候就不用从国外的server上在下载文件了!
试一试是不是速度提高了不少!