過度の部分的な wake lock

部分的な wake lock は PowerManager API のメカニズムです。これにより、デベロッパーはデバイスのディスプレイがオフになった後も(システム タイムアウトが原因であっても、ユーザーが電源ボタンを押したことが原因であっても)CPU を動作させ続けられます。アプリで部分的な wake lock を取得するには、PARTIAL_WAKE_LOCK フラグを指定して acquire() を呼び出すか、wake lock を取得する他の API を使用します。部分的な wake lock を過度に使用すると、デバイスが省電力状態にならないため、デバイスの電池が消耗します。部分的な wake lock は必要なときにのみ使用し、不要になったらすぐに解放する必要があります。

アプリで部分的な wake lock が過度に使用されている場合、このページのガイダンスが問題の診断と解決に役立ちます。

問題を解決する

Wake Lock はデバイスのバッテリーを消耗させる可能性があるため、代替手段がある場合は使用しないでください。デバイスを起動状態に保つための適切な API を選択するのドキュメントは、アプリに最適なソリューションを見つけるのに役立ちます。

wake lock を使用する必要がある場合は、wake lock のベスト プラクティスに沿って、wake lock がデバイスの効率を損なわないようにしてください。特に、取得したすべてのデバイスが解放されていること、ロックをできるだけ早く解放していることを確認してください。

アプリが wake lock を明示的に取得していない場合でも、wake lock を使用している可能性があります。認識できないアプリに起因するウェイクロックが表示された場合は、他の API によって作成されたウェイクロックを特定することで、それらを作成した可能性がある API を特定できます。

コードの問題を解決したら、ローカルの wake lock デバッグツールを使用して修正を確認できます。

関連情報