当你觉得浏览器内存占用太大,然后到网上找解决方法,得到的回答通常是:
“加内存啊,内存是拿来用,不是拿来看的”。
的确,内存是电脑流畅运行的基础,内存的作用,就好比我们吃饭的时候是用碗(内存)装着吃的,而不是直接拿着锅(硬盘)来吃。按现在的电脑水平,内存怎么也要在 8G 以上。
可这个回答显示没有考虑到笔记本电脑。
先不说有些笔记本电脑无法加内存,即使内存够用,当内存占用过大时,**笔记本的发热就会增加,耗电量也会随即增加,**也会面临浏览器崩溃丢失数据的风险。所以本期内容就是要彻底解决这个问题。
先说说原因,影响浏览器内存占用的因素有两个:一是打开网页的大小,二是打开网页的数量。
网页的大小,是指打开网页需要加载的资源大小。像视频、直播、瀑布流式网页都会占用很大的内存,因为是网页会不停地加载数据,不像一般的网页加载完成就结束了。
网页的数量,则是因为现在的浏览器普通都采用了多进程处理方式,每个扩展和标签页都会单独打开一个进程,这样即使有网页崩溃了,也不会造成浏览器的崩溃,坏处则是内存会成倍数增加。
此外,如果浏览器还额外安装了扩展和脚本,那么也会叠加影响内存的占用。所以理论上,浏览器的内存开销是没有上限的,有多少它就能给用多少。
解决浏览器内存占用过大的问题,就是从上面提到的两个因素下手。
我们知道 iOS 有着很好的内存管理机制,不需要很大的内存也能流畅运行,原因是 iOS 会**自动冻结不活动的应用来释放内存。**我们看到的后台,其实只是应用程序最后活动状态的一张缩略图,点击切换时需要重新加载。
事实上,现在的浏览器也加入了类似的功能,也就是自动冻结不活动的标签页,不过现在还不够完善,我们可以用拓展 Auto Tab Discard (支持 Firefox / Chrome)来更好的实现。
拓展除了可以设置自动冻结的时间(默认为 10 分钟后)和数量(不超过 6 个时不冻结),还可以设置排除白名单,比如编辑中的标签页、固定的标签页、播放中的标签页都不会被冻结。
甚至,我们还可以指定某个标签页或者网站永不自动冻结,这样就不用担心自动冻结标签页会影响到工作。
冻结标签页还有一个妙用:
比如我们打开了一个视频网页,内存占有较大,如果暂时不想看了,通常的做法是关闭该网页,然后等需要了再重新打开。
我们可以使用快捷键 Ctrl+Alt+D 手动冻结这个标签页,这样就既能释放内存占用,也不用关闭标签页,而且还能记住最后的浏览位置。
控制内存占用的另一个方法,是控制标签页数量。
有一款叫做 OneTab 的扩展,号称能节省浏览器 95% 的内存。它的思路是将当前打开的标签页全部关闭,然后保存到一个列表里,需要什么再打开什么。
但这个做法并不高明,有点“把垃圾藏在床底下”的意思。
当你重新打开这些标签页时,减少的内存又会重新的回来,而且它无法保存最后的会话状态。
另一款叫做 Tab Session Manager (支持 Firefox / Chrome)扩展做得更好,无论是手动保存、自动保存、是弹窗式的设计,都要比 OneTab 做得更好。
相比上面的两个方法,关闭不需要的标签页,是减少内存占用最直接的方法,下面是常用的方法:
1、点击关闭
点击关闭按钮是最传统的关闭方法,但它需要精准选择操作,我们可以设置“双击标签页”来关闭标签页,省去选择的过程。
2、快捷键 Ctrl+W
Ctrl+W 是关闭标签页的快捷键,特别是笔记本用户更知道它的重要性。但按快捷键 Ctrl+W 时的手是扭曲的,不是很方便,我们可以使用快捷键工具 HotkeyP 来修改快捷键。
比如分别设置 F1、Alt+F1、Alt+F2、Alt+F3 为新建标签页、关闭标签页、关闭右侧标签页和关闭左侧标签页,操作起来更方便。
3、鼠标手势(下右)
鼠标手势同样也是一种不需要精准选择的操作,只需要按住划出“L”形轨迹(下右)就可以关闭当前标签页。设置“Z”形轨迹(右下右)还可以一键关闭右侧的标签页。(详细回复关键字 C09)
4、鼠标中键点击
通过鼠标中键点击也可以关闭当前标签页,但因为中键点击需要花费的力气更大,所以使用的人群不太多。不过,中键是一个通用性很强的操作,比如使用中键点击链接和书签,都可以让它们在新标签中打开。
5、Shift 连选、Ctrl 点选
按 Shift 键可以用于连续选择标签页,就像按 Shift 可以连续选择文件一样,而如果要点选标签页,则可以使用 Ctrl 键来选择。
选中后,不管是点击关闭按钮,还是使用快捷键 Ctrl+W,又或者是使用鼠标手势“下右”,都可以一键关闭这些选中的标签页。
6、其他方法
此外,关闭标签页还可以用“鼠标右键点击”,"页面空白处双击"等方法,但它改变了浏览器的操作逻辑,所以我并不建议这样操作。