CWAC Advanced Android book の AlarmManager に関するセクションがとても気に入っています。ウェイクロックがないため、アプリの作業が殺されるのではないかと心配しています。ここで私が心配していることです。私の心配は合理的ですか?
以下のコードを参照してください。doWakefulWork が別のサービスを開始する必要がある場合はどうなりますか? この場合、他のサービスは実行を継続するために WakeLock を取得する必要がありますが、サービスの開始と onHandleIntent の終了の間にウェイクロックが解放される時間のギャップがあります。
@Override
final protected void onHandleIntent(Intent intent) {
try {
doWakefulWork(intent)
}
finally {
getLock(this).release();
}
}
私の答えは次のとおりです。doWakefulWork は同じスレッドで実行する必要があります。他のサービスも WakefulIntentService インスタンスでない限り、他のスレッドやサービスを開始することはできません。
私は正しいですか?