0

状況を説明すると、Android アプリのベスト プラクティスのエネルギー消費量を測定しようとしています。画面をオンにしておくために WakeLock を使用していたアプリをリファクタリングし、FLAG_KEEP_SCREEN_ON代わりにフラグを使用しました。驚いたことに、私はエネルギー消費をほんの少ししか改善できませんでした.

私は、CPU が消費電力の少ない低電力状態に移行できることを期待していました。

これらの状況では、CPU の電源管理に別の動作がありますか、それともこの FLAG の使用は合理的な効果を期待できませんか?

電源に接続する必要があるデバイス ODROID-XU で測定しています。Android のバージョンは 4.2.2 - API レベル 17 です。

4

2 に答える 2

0

これについていくつかの調査を行い、この質問の以前のコメントに基づいて、私にとって明確な説明を見つけました。

次の記事では、WakeLock が不要になったときに適切に解放されるようにするために、WakeLock を使用する方法について説明しています: http://vliux.me/android/android-power-consumption-and-wakelock/

著者は、Wakelock の使用は簡単な作業ではなく、バッテリーを消耗する可能性のあるエラーが発生しやすいと説明しています。フラグを使用するとFLAG_KEEP_SCREEN_ON、システム ( WindowManager) がロックを処理します。したがって、Wakelock が適切に解放されることを確認します。

さらに、@Dodge で述べたように、フラグを使用FLAG_KEEP_SCREEN_ONするのに特別な権限は必要ありません。

これは、次の回答でもサポートされています: https://stackoverflow.com/a/4376967/1228682

注: 次の使用を示唆する誤ったウェイク ロックの使用法に関する lint チェックがFLAG_KEEP_SCREEN_ONあります

于 2016-07-28T15:47:29.210 に答える