首页 > 解决方案 > 如何在 PWA 被丢弃时取消注册服务人员

问题描述

这听起来像是一个愚蠢的问题,但问题就在这里。我正在为客户端开发 PWA,一切正常:安装了服务工作者,以及桌面上的应用程序。

我知道如何以编程方式卸载应用程序和服务人员。但是,例如在运行 Android 4.4 的旧三星平板电脑上,可以将应用程序图标拖到桌面上的垃圾箱(就像任何快捷方式一样),然后卸载应用程序,但服务人员仍然处于活动状态并正在运行(我可以看到它在 DevTools 中)。

问题:在 PWA 以这种方式被破坏后,如何摆脱服务人员?我担心该应用程序的最终用户可能会以这种方式将其删除,并且仍然有一个服务人员在他们的移动设备上处于活动状态......

提前致谢。

标签: progressive-web-appsservice-worker

解决方案


Service Worker 的进程将在短暂的空闲时间后自动停止运行——大约在 1 分钟到 5 分钟之间,具体取决于浏览器和操作系统。

如果你打开了 Chrome 的 DevTools,那么这将人为地让 service worker 进程无限期地保持活动状态,以帮助调试。(如果您尝试调试与 service worker 的状态相关的东西,并且 service worker 进程在中间停止,那将是令人沮丧的。)

不过,这只适用于您打开 DevTools 的情况,因此您应该相信,如果您不“查看”它,它会自行停止。


推荐阅读