我有一个应用程序绑定服务,该应用程序在应用程序的生命周期中的不同时间将数据保存到手机的文件管理器(应用程序处于后台,而它正在执行此操作)。如果发生某些事情使数据无效,则应在服务完成后丢弃数据。 (请注意,只要服务的生命周期不中断,它就能成功完成)。但是,如果我在服务运行时刷掉应用程序,则不会丢弃数据。
问题是,活动的onDestroy()
方法永远不会被调用,而onStop()
已经发生,因为该应用位于后台。
此外,服务的onTaskRemoved()
从未被调用(可能是因为它是绑定服务?是的,我将android:stopWithTask="false"
放入清单中的服务声明中),当应用程序被刷掉时,onUnbind()
或onTrimMemory()
也不是。服务和应用程序只是一种结束。
我怎么知道服务/应用程序被杀死才能在此之前丢弃数据?