我有一个后台服务,它获取“部分唤醒锁定”并启动处理程序线程。我知道,由于某些原因,Android可以终止此服务并重新启动它。我的问题是,我的帖子会发生什么?它会停止调用某些方法,被残酷地销毁还是继续正常执行? 关于唤醒锁定,它是否会以某种方式被系统释放?
答案 0 :(得分:1)
是否会停止调用某些方法,遭到残酷破坏或者是否继续正常执行?
根据我在Android设备的小内存上的实验,Service
可以在高内存压力下被Android系统杀死。 Android系统不会触发Service
来调用onDestroy
方法。我认为,系统会暂停Service
的主题。即使Service
返回START_STICKY
或START_REDELIVER_INTENT
,但他们也不保证您的Service
将重新开始。
关于唤醒锁定,它是否会以某种方式被系统释放?
除非您致电startWakefulService(context, service)
,否则Android系统并不保证会发布唤醒锁。只要您的Service
正在运行,它就会使用唤醒锁。