Ahm*_*med 11 android android-6.0-marshmallow
在android版本6.0+中假设用户已经离开了某个地方的android,拔掉了电源按钮以锁定它等等.
Android在最终进入空闲状态之前在每个状态中花费了多少时间,例如非活动,空闲等待?
现在一旦处于空闲模式,进入idle_maintenance模式需要多长时间,以及在idle_maintenance模式下保持多长时间?
这些值是常量还是可配置的还是取决于Android版本/制造商..
请注意,对于我如何调整我的Android 6.0/api 23+应用程序做出重要决定非常重要
您不必担心设备何时进入打ze模式,而应该关注手机处于打ze模式时我的应用程序如何运行。要对此进行测试,您只需要强迫手机打do睡并观察应用程序的行为即可:
$ 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
Run Code Online (Sandbox Code Playgroud)
更好的是,您应该在所有不同的预休眠状态下测试应用程序:
$ 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
Run Code Online (Sandbox Code Playgroud)
您应在上述所有状态下测试您的应用,以确保其正常运行。另请参阅官方文档。
现在,如果您坚持知道打ze和维护的参数,则应查阅的完整输出adb shell dumpsys deviceidle。当设备IDLE为时,在输出末尾附近,您将看到:
mNextAlarmTime=+59m35s863ms
Run Code Online (Sandbox Code Playgroud)
来源于:
idle_to=+60m0s0ms
Run Code Online (Sandbox Code Playgroud)
同样,除非用户唤醒电话,否则下一个空闲超时将受到此参数的影响更大:
mNextIdleDelay=+2h0m0s0ms
Run Code Online (Sandbox Code Playgroud)
等等。我不知道有关此的任何官方文档,因此请以我的观点作为解释。
| 归档时间: |
|
| 查看次数: |
1916 次 |
| 最近记录: |