2

我有一个后台 Android 应用程序,它监听基于网络的位置。在某些情况下,它会开始执行某些任务,但仅执行一小段时间,然后返回侦听基于网络的位置更改 (NETWORK_PROVIDER)。

当我查看电池使用屏幕时,它似乎总是很有效。 我的应用

“保持清醒”表明该应用程序在应该显示它根本不工作的地方工作了很多(几乎..)。与另一个流行的应用程序相比,我发现“保持清醒”显示的时间很少,尽管该应用程序处于前台并且它正在努力工作! 其他应用

另一个应用程序也使用网络,但它没有显示任何数据使用情况(数据发送/数据接收)。

有人可以解释“使用详细信息”下的每个项目的含义吗?为什么“保持清醒”并不能真正反映应用程序何时处于唤醒状态?

谢谢。铅

4

1 回答 1

1

这里的“Stake Awake”表示您的应用程序持有唤醒锁(部分唤醒锁和完全唤醒锁)的时间。唤醒锁强制设备唤醒。请注意,即使应用程序在前台,您的设备也可以进入睡眠状态(从技术上讲,它可能被认为正在运行,但实际上它可能什么都不做)。基本上,如果应用程序只是在等待用户输入并且显示屏已关闭,则设备可能会进入“深度睡眠”状态。但是任何应用程序(包括后台应用程序)都可能获取唤醒锁并导致系统无法进入睡眠状态。

使用“Wakelock Detector”之类的应用程序或Little Eye 之类的分析工具(免责声明:我与他人共同创立了构建此工具的公司)来了解您的应用程序如何使用唤醒锁。

:-)

于 2013-06-25T04:03:37.910 回答