我真的很喜欢 CWAC Advanced Android 书中关于 AlarmManager 的部分。我现在担心我的应用程序的工作被杀死,因为它没有唤醒锁。这就是我担心的问题。我的担心合理吗?
请参阅下面的代码。如果 doWakefulWork 必须启动另一个服务怎么办?在这种情况下,其他服务需要获取 WakeLock 才能继续运行,但是服务启动和 onHandleIntent 结束之间的时间间隔是可以释放唤醒锁的!
@Override
final protected void onHandleIntent(Intent intent) {
try {
doWakefulWork(intent)
}
finally {
getLock(this).release();
}
}
我的答案是:doWakefulWork 必须在同一个线程上执行,它不能启动其他线程或服务,除非其他服务也是 WakefulIntentService 实例。
我对吗?