我们知道Chrome是非常出色的浏览器,无论从性能还是功能的角度来看,都是如此。
但是Chrome在内存占用方面的表现,就很令人头疼了!
常常听到有朋友抱怨,想要上网找找素材,不一会儿发现Chrome已经将PS要用的内存给挤爆了!
这种魔幻的剧情,在Chrome用户群中屡次上演,怎么办?
Chrome之所以吃内存,是因为Chrome使用了多进程机制,每一个Chrome的标签页以及每一个扩展,都是独立的进程。这样机制的好处在于,单个进程的崩溃不影响整个浏览器,保持了稳定,但也带来了吃内存的问题。
在Chrome中,就算你没有切换到某个标签页,该标签页的进程也会持续渲染网页中的各种元素、脚本,占据不小的资源,内存就被这样N个标签消耗殆尽。
知道了Chrome吃内存的原理,解决起来就有门路了。这就来推荐几个减少Chrome内存占用的方案,从机制上解决Chrome占内存的硬伤!
OneTab
这是Chrome上的一款扩展程序。OneTab的作用在于,可以将Chrome当前开启的标签页,转换成为列表。
这些被OneTab转换掉成为列表的标签页,实际上是在内存中被清理掉了,但OneTab保存了这些标签页的记录。
当你想要重新浏览这些标签的时候,可以通过OneTab重新开启,网页也就回来了。
由于OneTab的原理实际上是清理掉标签页的进程、并在列表中保留标签页的浏览记录,因此它对Chrome的内存释放的立竿见影的。根据OneTab官方的说法,它甚至可以减少Chrome高达95%的内存占用!当然,这和你开启的标签页数量有关,开启的标签页越多,能用OneTab减少的内存占用也就越多。
The Great Suspender
下载地址:https://chrome.google.com/webstore/detail/klbibkeccnjlkjkiokjodocebajanakg
这是一款老牌的Chrome扩展程序。它的作用在于,可以暂时冻结Chrome的标签页,让标签页进程占用的资源得以释放出来。从这方面来说,其实The Great Suspender的原理和OneTab是有一定相似之处的。
安装了The Great Suspender后,就会弹出相应的设置页面,可以在其中设置多久之后冻结标签页,例如可以设置为1小时,那么后台标签页如果1小时不活动,就会被冻结。
此外,还可以设定不要冻结固定的、正在播放的、输入框有文字以及使用中的标签,可谓是非常细致了。
一个标签被The Great Suspender冻结后,是需要重新加载的,这和OneTab中将标签转为列表后需要重新加载的道理是一样的。
而The Great Suspender可以将之前标签的内容缓存到硬盘,重新加载不需要网络连接,而且还可以回到之前的浏览位置,非常方便。
The Great Suspender的效果非常明显,看看下面的对比,可见The Great Suspender的确可以让Chrome减少很多内存占用。
使用Edge浏览器
如果你觉得Chrome的内存占用太大,但又不想通过这些工具对标签页动手脚,那么还可以考虑一下Edge浏览器。
Edge浏览器已经换用了Chromium内核,而且兼容Chrome的扩展程序,并可以导入Chrome的书签、浏览记录、密码等资料。从体验上来看,其实Chrome用户是可以无缝过渡到Edge浏览器的。
而和Chrome相比,Edge浏览器是更加省内存的。原因在于,在Windows 10 2004中,微软带来了SegmentHeap这一特性,可以让Edge浏览器的内存占用下降27%之巨。
而到目前为止,Chrome是明确表示不支持该特性的,因此Edge在内存占用上,相比Chrome存在明显优势。
Chrome认为SegmentHeap会带来跑分下降,因此暂不支持
当然,SegmentHeap也并非全是好处,它会一定程度加重CPU的负担。但现在CPU的性能早已经过剩,在六核八核随处走的当下,这项技术还是比较合理的。如果你内存实在不堪重负,Edge要比Chrome更值得选择。
总结
简单来说,要降低Chrome的内存占用,最常见的思路就是通过冻结Chrome标签的进程,让占用的资源释放出来,待到有需要的时候再重新加载标签。通过这个方法,可以大大减少Chrome的内存占用量,不过也会加重CPU和硬盘的负担,体验更多网页加载过程,可谓有得有失。希望Chrome日后也能像Edge那样,跟进SegmentHeap特性,带来更合理的内存占用吧。