Chrome 删除内存历史缓存,以解决关闭时意外挂起问题
11 月 1 日 ,谷歌公布了对 Chrome 浏览器的一系列改进,包括删除 Chrome 的内存历史本地缓存机制,以彻底解决 Chrome 关闭时挂起的问题。
几年前,谷歌实验室的测试结果表明,缓存 Chrome 的内存历史索引,比在每次启动时重新索引历史更快。因此,谷歌在 Chrome 浏览器中对内存使用历史进行了本地缓存,目的是让 Chrome 启动得更快。
但是,通过对现实用户的崩溃数据和匿名性能指标进行持续的调查和分析,谷歌发现这种对内存历史的缓存不仅会增加代码复杂度和不必要的内存使用,还是导致浏览器关闭时挂起的主要原因:
Chrome 在关闭页面或浏览器时,在某些操作系统上(比较典型的是 Windows 7),当内存被其他应用占用时,后台优先级线程可能会长期缺乏 I/O ,导致关闭的页面/浏览器只是被挂起,而不是真正地关闭进程。随着时间的推移,这些 Chrome 进程会累积并消耗设备所有的内存,导致 Chrome 应用停止响应、崩溃和冻结。如果你使用的是 Chrome OS 或者Windows,Chrome被挂起甚至会导致无法关机,长时间卡在关机页面等待 Chrome 进程结束。
事实上,缓存机制本身也会引入一些新问题,比如代码复杂性、稳定性、内存消耗、数据一致性等,所以这个内存使用历史的本地缓存给用户带来的性能体验几乎是微乎其微,麻烦事倒是一大堆。这也导致谷歌在继续优化和移除之间,还是选择了后者。
此次改进还包括对多功能搜索框的速度优化和 Chrome 浏览器在 Chrome OS 中的性能优化,详情可查看谷歌博客原文。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GitHub CEO 宣布卸任,走上新的创业之路
在微软完成以 75 亿美元收购 GitHub 三年后,GitHub 首席执行官(CEO) Nat Friedman 宣布卸任;首席产品官(CPO)Thomas Dohmke 将接任这一职位。该职位变更计划于今年 11 月 15 日起开始生效;卸任后,Friedman 将成为名誉主席。 今天早上,我给 GitHub 团队发了以下帖子。TL;DR:我将继续我的下一次冒险,而 Thomas Dohmke(现任首席产品官)将成为 GitHub 的下一任 CEO。我将成为名誉主席,这实现了我一生的野心,即拥有一个拉丁文的头衔。我衷心感谢每一位 Hubber 和每一位开发者,是他们让 GitHub 成为现在的样子,每一天。 根据介绍,Friedman 从 6 岁开始编程,1999 年毕业于麻省理工学院,主修数学和计算机科学。此前在 Novell 任职期间,他成功实现了让 6000 名员工从 Windows 和 Office 机器转向 SUSE 和 OpenOffice。后来,Friedman 与 GNOME 项目联合创始人 Miguel de Icaza 等人联合创立了 Xamarin,一家构建跨...
- 下一篇
搭载 M1 Pro 的 MacBook Pro 已顺利启动 Linux
此前将 Linux 移植到搭载 Apple M1 的设备的 Asahi Linux 项目最近有了新进展——项目团队已经实现让去年编写的 Linux 补丁以及部分小改动在最新款MacBook Pro 上启动。 新款 MacBook Pro 采用了 M1 Pro 和 M1 Max SoC,Asahi Linux 项目创建人 Hector Martin 近日在 Twitter 宣布他们已实现新里程碑——通过可用的 USB 端口,成功将 Linux 引导到 M1 Pro 设备上的 Shell 界面。这些工作基于团队去年面向 M1 的移植项目而进行修改,所以实现起来速度比较快。 Hector Martin 已确认 SMP 对称多处理、IRQ/IPI 中断、frame-buffer console 帧缓存控制台、DART、USB(包括供电功能)、I2C 和 GPIO 可以在 M1 Pro 上运行。接下来,他将更多地关注 PCI Express,特别是对 SD 读卡器和 WiFi 的支持。此外,项目目前还没有存储支持,但他相信这不会是一个很大的负担。键盘和触控板支持也仍然依赖于概念验证的 SPI 驱...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Red5直播服务器,属于Java语言的直播服务器