Android上已安装的Progressive Web App的生命周期是什么?

Mr_*_*r_E 5 android progressive-web-apps

我有很强的Android背景,但是最近我开发了可以安装到用户设备上的PWA。我注意到,当应用程序首次启动时,会显示启动屏幕,然后应用程序显示其首页,这很棒。现在,如果该应用程序已经有一段时间背景并且我重新启动了该应用程序,它有时似乎会显示白屏几秒钟,然后该应用程序会闪烁并重新加载页面的某些方面,从而产生令人不快的体验。

我熟悉生命周期在Android,saveInstanceState和所有爵士乐中的工作方式,但是PWA在这里实际上发生了什么呢?我无法调试正在发生的事情,因为它需要很长时间才能重现,并且在启动该应用程序之前需要连接调试器。

是否有任何文档描述已安装的PWA的生命周期到底发生了什么,以及在已被后台或杀死后台的情况下如何正常还原它?

abi*_*ita 1

您可以查看此文档“渐进式 Web 应用程序必须快速且可安装,这意味着它们可以在线、离线以及在间歇性、慢速连接的情况下工作。为了实现这一点,我们需要使用 Service Worker 缓存我们的应用程序 shell,以便它始终可以快速且可用。可靠。” Service Worker 的生命周期与您的网页完全分开。根据本文 Service Worker 生命周期通常分为三个阶段:

  • 安装阶段,在此期间通常会缓存样式表、客户端 JavaScript 等资源。
  • 安装阶段成功后,将发生激活步骤,在此期间所有过时的缓存都将被删除。
  • 然后,服务工作线程将处于空闲状态,直到需要处理来自客户端代码的请求为止。

您可以阅读该文章以获取更多信息。希望这可以帮助!

  • 不幸的是,这并不能回答问题。我知道这些事情。我要问的是,当 PWA 被操作系统后台杀死,然后用户尝试执行多任务回到应用程序时,会发生什么情况。它似乎不遵循相同的生命周期...启动屏幕不显示,应用程序尝试恢复其之前的状态,但此恢复如何发生的详细信息似乎被隐藏。 (3认同)