前言
在Android、IOS和Windows等的平台上,系统可以随意启动和中止应用程序的运行,这使得这些平台能够重新分配资源,以提供最好的操作体验给用户,当系统做这类干预时应用程序通常是知晓的,这是因为操作系统为应用程序提供了标准化的应用生命周期。
对于网页来说,并没有类似的生命周期机制。随着浏览器中被打开网页数量增加,内存、CPU、等系统关键资源都被过度使用,导致系统性能下降,从而降低了用户的操作体验,因此现如今,各大浏览器也像操作系统一样通过干预页面来节省资源。
但是这也引发了一些问题:开发人员可能无法为系统发起的干预做准备,这就可能导致浏览器在优化页面的过程中如果对页面造成了破坏,而开发者对此一无所知。
因此浏览器为了解决上面的问题,提出了页面生命周期的方案(Page Lifecycle API),方案的目标主要有三点:
在网页中将生命周期状态的概念标准化
定义新的页面状态,允许浏览器限制网页,防止页面持续占据系统资源
创建新的API和事件,允许开发人员响应这些页面状态之间的转换