【问题标题】:Are Doze Mode and Idle the same thing?打盹模式和空闲是一回事吗?
【发布时间】:2020-11-23 22:46:36
【问题描述】:

我正在使用 Android Studio,并且正在尝试在使用打盹模式时测试我的应用。我已经阅读了一些链接(包括the android documentation about doze mode)。但是,我越来越困惑。 “空闲”和“打盹模式”有什么区别吗?在我看来,每当我读到它们时,它们都被视为相同的东西。

此外,我期待从打盹模式中唤醒后,活动中会再次调用 onCreateView() 方法。那是对的吗?我尝试使用 ADB 强制打盹模式并稍后将其唤醒,启动应用程序,转到我要测试的活动,然后使用:

adb shell dumpsys battery unplug

adb shell dumpsys deviceidle force-idle

adb shell input keyevent KEYCODE_WAKEUP

但是,改为调用 onResume() 方法。如果我的预期错了,打瞌睡模式和空闲模式都应该在被唤醒后调用 onResume() 吗?我对这两个概念有点困惑。有人可以帮帮我吗?

【问题讨论】:

  • 打盹模式表示您不使用手机并拔下电源,空闲模式表示您不使用应用程序。
  • 好吧,这是有道理的。但是,每当我使用问题的前两个命令时,我是在强制空闲模式还是打盹模式?文档显示了在打盹模式下测试应用程序的步骤,但在我看来,这些步骤显示了如何强制空闲模式。

标签: android android-studio adb android-doze


【解决方案1】:

打盹模式结束后不会再次调用 OnCreateView。仅当由于某种原因您的应用程序在打盹模式下被杀死时,才会调用 OnCreate。调用 On Resume 是因为您在该屏幕不在前台后返回活动或片段。我建议您阅读更多有关 Android 生命周期以及 Oncreate 与 on Resume 之间的区别onCreate vs. onResume/onRestart bevhaviour regarding member variables

【讨论】:

  • 那么,出于测试目的,当通过打开屏幕完成空闲模式或打盹模式时,会调用 onResume 吗?这两种模式完成后的工作方式有什么不同吗?
猜你喜欢
  • 1970-01-01
  • 2015-11-24
  • 2016-06-21
  • 2016-01-06
  • 1970-01-01
  • 2017-05-20
  • 1970-01-01
  • 2020-05-05
  • 2016-06-27
相关资源
最近更新 更多