WakeLocksがある(私はサービスにそれはそれの後に死んでしまうことにタイムアウト時間を与えることができます)コンポーネント(例えば、サービス、アクティビティなど)およびそれに関連するすべてのスレッドを含む。だからあなたはあなたのスレッドに新しいウォークロックを取得する必要はありません。取得したロックを渡して、開始されたスレッドからisHeldを呼び出すことで、これを証明できます。あなたが部分的wakelockを検討すべきである
、これは関係なく、画面やキーボードの活動の、唯一のCPUの稼働を維持する懸念されます。これはサービスなので、画面が表示されているかどうかは気にしません。あなたが部分的wakelockを保持した場合、CPUは関係なく、すべてのタイマーの実行を継続すると、ユーザは、電源ボタンを押した後でも:それはhereを述べていること
注意。他のすべてのWakelockでは、CPUは動作しますが、電源ボタンを使用してデバイスをスリープ状態にすることはできます。
編集:あなたが示唆したようにそれを行うこともできますが、のほうが良いかもしれません。は、バッテリー消費のために子スレッドにwakelockを取得して解放します。また、この作業にWiFiを使用する必要がある場合は、WiFiLockが必要な場合があります。