デバイスがdozeモードに入るときにはと表示されます。電話機がドーズモードのときにアプリケーションの動作はどのようになりますか?
$ adb version
Android Debug Bridge version 1.0.32
Revision eac51f2bb6a8-android
$ adb shell dumpsys deviceidle | grep mState
mState=ACTIVE
$ adb shell dumpsys deviceidle force-idle
Now forced in to idle mode
$ adb shell dumpsys deviceidle | grep mState
mState=IDLE
はさらに良いことに、あなたはすべての様々な事前居眠り状態の下でアプリケーションをテストする必要があります:
$ adb shell dumpsys deviceidle step
Stepped to: ACTIVE
$ adb shell dumpsys battery unplug # emulate unplugging the charging cable
$ for i in {1..5}; do adb shell dumpsys deviceidle step; done
Stepped to: IDLE_PENDING
Stepped to: SENSING
Stepped to: LOCATING
Stepped to: IDLE
Stepped to: IDLE_MAINTENANCE
# repeats IDLE and IDLE_MAINTENANCE forever
$ adb shell dumpsys battery reset
$ adb shell dumpsys deviceidle step
Stepped to: ACTIVE
これをテストするには、単に居眠りにあなたの携帯電話を強制して、アプリケーションの動作を確認する必要があります上記のすべての状態でアプリをテストして、正しく動作することを確認する必要があります。 official documentationも参照してください。今
あなたは居眠りやメンテナンスのパラメータを知ることに主張すれば、あなたはadb shell dumpsys deviceidle
のフル出力に相談してください。デバイスは、出力の終わり近くに、IDLE
あるときは、表示されます。
から派生
mNextAlarmTime=+59m35s863ms
:電話がウェイクアップされていない限り、ユーザが、
idle_to=+60m0s0ms
また、次のアイドルタイムアウトを
など
mNextIdleDelay=+2h0m0s0ms
私はこれについての公式ドキュメントを知らないです、その塩の粒と私の解釈を取る:このパラメータの影響を受け、大きくなることになるだろう。
同じ質問です。アプリケーションがドーズモードでどのように動作するかを正確にテストし、その状況を処理する方法は非常に難しい作業です。 – Smeet