当应用程序关闭时,Ionic 5 是否为服务和主页调用 ngOnDestroy

问题描述

在我的 Ionic 5 项目中,我有 ngOnDestroy() 用于服务类来清理数据。我的主页上也有 ngOnDestroy()。当我从主页到页面 A 并返回主页执行以下导航时,页面 A 的 ngOnDestroy() 正在触发。

 - Home page -> Page A 
      
 - Home page <- Page A

问题是,当我关闭应用程序时,我希望主页上的 ngOnDestroy() 和所有服务类都被触发,但这并没有发生。我看到 Ionic 文档中提到了以下内容

ngOnDestroy 只会在页面“弹出”时触发。

我检查过,当应用关闭时,即使 ionViewWillLeave 也不会在主页上触发。请建议我如何在主页和服务中进行清理活动?

解决方法

据我所知,对于网站,您可以使用窗口 beforeunload event,但它不能可靠地触发。

This post 的回答还建议您在应用程序中运行时在cordova 中使用beforeunload。