谷歌浏览器是世界上最受欢迎的网络浏览器,无论是在移动设备上还是在桌面上。多年来,它一直被批评需要更多的内存密度,并且在大小和功能上变得膨胀,但它在现实世界中的速度和可用性一直受到称赞。现在,谷歌宣布正在开发一个新功能,通过使用bfcache来改进网络浏览器中的向后导航。
谷歌声称,前向/后向缓存(bfcache)会在离开页面时缓存整个页面,包括JavaScript堆。这样做是为了用户可以在向后导航时恢复页面的完整状态。公司提供了一个比喻:用户离开页面时暂停页面,用户返回页面时播放页面。它将在向后和向前导航到以前访问过的页面时工作。
谷歌指出,当访问一个新网站时,这个功能是无用的。然而,这并不意味着它不会有用。根据该公司的数据,19%的页面在安卓系统的谷歌浏览器上查看,10%在个人电脑的谷歌浏览器上查看。根据谷歌的说法,bfcache将使导航“异常快速”。公司指出,这绝对不是一件容易的事情。
谷歌指出,Mozilla Firefox和苹果Safari对这种缓存技术的实现略有不同。然而,由于与Chrome的多进程架构不兼容,Chrome选择不使用WebKit的bfcache实现。
Chrome的工程经理Addy Osmani告诉CNET,Chrome的棘手部分是重写浏览器的某些部分,以保护隐私和安全。谷歌的网络浏览器必须确保它停止运行基于网络的JavaScript程序,即使该程序挂在内存中。他承认,从用户的角度来看,在不存在的页面上运行JavaScript是“一个很大的潜在隐私问题”,因此公司将改变Chrome的架构,以确保不会出现隐私问题。
缺点?Bfcache不会很快在Chrome上提供。奥斯马尼表示,谷歌希望在2019年测试bfcache,并在2020年将其内置到Chrome中。
另一个限制是保存网页的状态以备将来使用会消耗内存,这已经是Chrome面临的主要问题之一。奥斯马尼表示,谷歌仍在努力寻找最佳规则,以决定何时以及从内存中转储哪些页面。他还表示,这个功能在其他情况下也有帮助,比如需要在后台暂停的标签页(尤其是在移动设备上)性能更好。这种情况通常会节省内存,但也有一个主要缺点,因为页面返回后必须重新加载页面。
Chrome上的Bfcache听起来确实很有前途,但它仍处于起步阶段。我们希望在接下来的几个月里了解更多。