骑猪兜风

Chrome浏览器 准备摘掉吃内存大户的帽子

骑猪兜风 2016-10-11 12:42:25    201085 次浏览

Chrome浏览器 准备摘掉吃内存大户的帽子

Google的Chrome浏览器具有界面简洁、速度快、扩展多等优点,已经占据了桌面市场的半壁江山(Net Market Share9月份Chrome占比为54.4%,第二的IE为25.5%)。但是实现这些优点是有代价的,其中最大的问题就是吃内存,用过Chrome的用户应该知道,有时候简直到了有点丧心病狂的地步。

不过这个最大的缺点有望在2个月内得到显著改善了。根据Google Chrome V8 JavaScript引擎团队发布的引擎优化评测报告,优化后的Chrome最高可将两种内存的消耗量分别降低50%与40%以上。而采用这一优化技术的Chrome 55稳定版预计将在今年12月份推出。

V8是Chrome的JavScript引擎,用于编译和执行 JavaScript 源代码,处理对象内存分配,并对不再使用的对象进行回收。虽然JavaScript并不是网页的全部,但作为浏览器中最常用的客户端脚本,基本上所有主流网站都会使用它。而为了提高速度,JS的执行是会占用大量内存的。对于内存紧张的设备来说,Chrome优先考虑加载速度的做法有时候会导致内存崩溃,导致标签页的挂起等。于是V8团队开始针对这种情况进行一些权衡,通过各种优化减少了堆内存和区内存(Zone Memory)的使用。在纽约时报、Hackernews、Reddit、YouTube等典型网站的对比测试表明,在堆内存方面Chrome 55比目前的Chrome 53平均内存消耗率下降了50%(纽约时报更是高达65%),在区内存方面平均也有40%的下降。

Chrome浏览器 准备摘掉吃内存大户的帽子

堆内存消耗对比

Chrome浏览器 准备摘掉吃内存大户的帽子

Zone Memory消耗对比

虽然Chrome有望大幅降低内存消耗是个好事情,但是对用户来说未必就是好消息。因为只要设备有空余的内存,其他app和网站就会想办法加载新功能去利用这一公共资源。而且内存消耗减少必然也会令浏览器的加载速度有所放缓。所以,这主要是对内存紧张的设备进行的优化。而在接下来的时间里,V8团队还会针对内存少于1G的低端设备做进一步的优化。

内容加载中