我有一个强大的Android背景,但我最近开发了一个可以安装到用户设备上的PWA。我注意到当应用程序第一次启动时,启动屏幕会显示,然后应用程序会显示它的第一页,这非常好。现在,如果应用程序已经有一段时间了,我重新启动应用程序,它有时会显示一个白色屏幕几秒钟,然后应用程序会闪烁,页面的某些方面会重新加载,从而产生一种刺耳的体验。
我熟悉android、saveinstancestate和所有jazz中的生命周期是如何工作的,但是pwa的实际情况是后台的?我无法调试正在发生的事情,因为复制需要很长时间,并且在启动应用程序之前需要附加调试器。
是否有任何文档准确描述了已安装的pwa的生命周期发生了什么,以及如何在其被后台固定或后台终止时优雅地恢复它?
最佳答案
你可以看看这个documentation。渐进式的web应用程序必须快速、可安装,这意味着它们可以在线、离线和断断续续的慢速连接。为了实现这一点,我们需要使用ServiceWorker缓存我们的应用程序外壳,以便它总是快速可靠地可用。“一个ServiceWorker有一个lifecycle与您的网页完全分离。基于此,服务工作者生命周期通常有三个阶段:
安装阶段,在安装阶段,缓存样式表、客户端javascript等资产是很常见的。
当安装阶段成功时,将执行激活步骤,在此过程中删除任何过时的缓存。
然后,服务工作者处于空闲状态,直到它需要处理来自客户端代码的请求为止。
你可以阅读这篇文章以获取更多信息。希望这有帮助!