另外一个就是说,为什么搜狗没有抛弃IE核,就是解决兼容性问题。然后我提一下搜狗的防假死,这个概念我很奇怪,自从我上高中的时候用遨游就发现一个问题,一个页面运行的非常慢,或者他已经死了,点什么都没有用了,他虽然会很人性化的列出来,但是还是很不爽。我就想,为什么没有一个机制说,一个网站挂了,别的可以看。后来,当我们团队做的时候也发现了,这确实是一个很难的技术问题。因为在座的都是Windows开发,很多人知道这个Windows的结构。可以做一个实验,我们比如说建一个框,我们里面可以通一个子窗口。你如果尝试停掉另外一个进程,把进程给死循环,外面的窗口也跟着一块挂了。这个确实也表明了微软他这个窗口系统里面的一个问题,就是他的窗口表面上看起来,你可以理解为他是相互独立的,但是其实不是,他里面有很多内部消息,有一个叫活动的方式,我也不是很明白,他为什么设计。但是,确实引入一个问题,对于多标签多页面的这种会带来这种问题。
就是我在访问一个网址的时候,其实他是通过一个相互关联的一个循环,我再来一个网址,发现他还是卡在这个地方,这也是用户抱的一个问题。所以大家可以看到,现在大家对老牌浏览器意见比较大。比如说我这个网址死掉了,我再访问一个网址不知道访问什么,最惨的可能我连访问一个网址的机会都没有。后来我们找到一个算是不是很完美的解决方法,就是用一个独立的消息循环。这个是怎么做呢?就是比如说,举个例子,这是一个大窗口,里面的子窗口,你看起来是一个字窗口,但是其实不是一个字窗口,是两个顶窗口叠在一起,就脱离了父子窗口的关系。这样的话,大家也可以想,开发起来确实难度比较大,这个也是一个优势。现在应该是国内只有360合搜狗有这个防假死,目前其他的还没有,从体验效果和反馈来说,这个东西用户还是比较满意的。当然估计用不上这个东西,但是你如果发现有些东西不可控,你的程序里面有一个第三方的窗口,或者引用别人的库和逻辑。
对于防假死来说,可能还有别的一些要点,就是IO操作也是一个比较重要的东西,这个和启动关系比较紧。其实和你平常的运行关系非常紧密,比如你的界面跑在一个固定的地方。还有一个就是说,腾出CPU优先处理当前标签,用户可能一受抖,开了几十个标签,但是当前可能最多只能看到一个,这种情况下,如果他不能优先的处理,他也会抱怨,会说你这个东西不顺畅。我们的优化就是说,在用户开了很多标签,但是只展现一个的情况下,后面的都停掉,让他优先关注前面的这个表现。
最后再谈一下启动,尤其是冷启动,是大家关注的比较多的问题。一个是delayload,刚才也谈到了,我们启动的时候,把不需要的模块都往后放,至于放到什么时候,有不同的做法。比如说有些程序,可能我这个模块,我是用时加载,我启动很快,比如我有一些功能,有一些业务是不用的,或者有一部分是用户用的。这些东西,在用户调用的时候,把他加载起来。还有一种做法,就是延时,不管你用没用,都把他加载起来。在搜狗浏览器里面,这方面处理的是比较极端的,搜狗浏览器在启动的时候保证只有唯一的一个线程去做必须要显示的东西,比如说界面,界面上用的图片资源。把这个资源弄进来以后,当所有的事情都做完以后,再去开第二个线程。比如搜狗浏览器加载,包括大家看到浏览器的收藏夹。你无论如何一定要给用户第一视野,让他一下看到你是一个什么东西,至于他可有可不用的东西,一定在后面再给。
还有一个就是首次加载的文件的合并。在1.0的时候,我们配制文件差不多有十几个,每个人配制的文件,都想存东西。每个人自己有一套配制文件,一下浏览器启动的时候要读十几个问题,每一个文件,取的时候很慢。所以这个时候,可以打击以后个包,就是把他们聚合起来,让浏览器,让程序再一次IO的时候,把他们全都读进来,这个也可以回答刚才金山那位朋友的问题。你的包大小压缩不压缩跟大小有关系,但是策略是一样的。就是数量级的差距,而不是说简简单单的差距,这个也是一个可优化的地方。
然后浏览器起始页合并,比如像传统的IE他也是硬盘上去读。所以他这块没有办法去拆分。如果想把这些文件聚合起来,工作量稍微复杂一点。如果你用到IE,可能到时候你会先注册一个协议。这样的话,你可以让启动的时候的次数限制在一次,剩下的都走内存,这个可以加快首次起动速度。最后一条,不管在任何情况下,一定要优先给用户提示,不管你觉得这个过程是长还是短,你都要告诉他。你如果可能,如果开发时间充裕,最好的做法应该是在做一个操作之前,程序能够知道自己要花多长时间,并把这个时间告诉用户。像Windows的拷贝文件一样,会告诉你还剩多长时间。就是不论长短时间,能给用户提示都是最好的。
推荐阅读
楼市仍然是今年两会的热点之一,而在经历史上最严房市调控之后,中国的房地产调控会不会继续加码?已经在上海和重庆试点的房产税,是否会推广到全国? 全国两会上,全国工商联提交的一份提案明确提出,要加快土地出让>>>详细阅读
本文标题:李子拓:搜狗浏览器 上网究竟能多快
地址:http://www.lgo100.com/a/kandian/20120305/36858.html

网友点评
精彩导读
科技快报
品牌展示