を使用してウェイクロックを設定していwl.acquire()
ます。これはうまくいきます。アプリケーションが存続している限りそのウェイク ロックが必要なので、呼び出しrelease()
はアプリケーションが終了したときにのみ実行できます。
release()
どこかに電話しなければなりませんか?例えばonStop()
?いいえと言うでしょうが、よくわかりません。
次の 2 ページを参照してください。
http://developer.android.com/reference/android/os/PowerManager.html
http://developer.android.com/reference/android/os/PowerManager.WakeLock.html#release ()
できるだけ早く wake lock を解放する必要があります。したがって、アプリが閉じている/一時停止している場合は解放してください。
また、アドバイスの言葉として、ウェイクロックが必要なときに、必要なときに必要であることを絶対に確認してください。
私の場合、考えている間にユーザーの画面が真っ暗になるのを避けるために、ゲーム内の画面にのみ1つを配置します(これはopenglアプリであるため、完全にロードするのに数秒かかります)が、他のビューではそれを解放します.
アプリが自分自身を強制的に起動させていたために、バッテリーが空になってしまうのはユーザーにとって迷惑だと私が言うとき、私を信じてください.
すでに受け取った他の有用な回答に加えて、画面を強制的にオンにする方法に関するこの興味深い回答を見つけました。ウェイクロックが本当に必要ない場合は、これも役立つかもしれません。
私のアプリケーションが生きている限り、あなたのアプリケーションにはいくつのアクティビティがありますか? activitymanager によってポップされる最後のアクティビティの onDestroy() で解放できます。
はい、特に画面の明るさを維持する場合は、バッテリーの消耗を避けるためにロックを解除する必要があります.