当OS杀死adroid服务时(由于内存不足或功耗低)。服务在被杀之前会得到通知吗?是否会调用onDestroy()回调?
我们主要担心的是我们能够在服务被杀之前保存服务状态。我们知道一旦资源可用,系统就可以重新启动服务,但是在服务被杀之前保存服务状态的推荐方法是什么?
附件是我们对绑定服务的强制关闭过程的理解的序列图,它包括我们想要发生的事情。
答案 0 :(得分:1)
服务在被杀之前会得到通知吗?是否会调用onDestroy()回调?
可能。这不保证。
我们主要担心的是我们能够在服务被杀之前保存服务状态。
服务不应具有仅在RAM中表示的状态。您应该在状态发生变化时保持状态(例如,使用数据库)。
答案 1 :(得分:0)
从API级别14(ICS)开始,如果用户正在删除服务,并且系统决定that it is a good time for a process to trim unneeded memory from its process
,则android os会通知服务。这是一个link。