后台过度使用移动网络

当应用在后台连接移动网络时,会唤醒CPU并开启无线电。重复此操作可能会耗尽设备电量。如果应用处于PROCESS_STATE_BACKGROUNDPROCESS_STATE_CACHED状态,则认为该应用正在后台运行。

此页面解释如何确定您的应用在后台运行时过度使用移动网络的原因,以及如何解决此问题。

检测问题

您可能并不总是知道您的应用在后台运行时过度使用网络。如果您已发布您的应用,Android Vitals可以帮助您发现问题以便您可以修复它。

Android 指标

当您的应用在后台过度使用移动网络时,Android Vitals可以通过Play Console向您发出警报,从而帮助改进您的应用性能。

当应用在后台运行时,发送和接收数据的总和超过每天50 MB,Android Vitals 则认为后台网络使用量过高。您可以在 Play Console 中检查表现出此行为的电池使用会话的百分比。

电池使用会话的定义取决于平台版本。

  • 在Android 10中,电池使用会话是特定24小时内接收到的所有电池报告的汇总。电池报告指的是两次电池充电之间的间隔,无论是从低于20%充电到高于80%,还是从任何充电水平充电到100%。
  • 在Android 11中,电池使用会话是固定的24小时周期。

有关 Google Play 如何收集 Android Vitals 数据的信息,请参阅Play Console文档。

调查移动网络使用行为

Battery Historian 等工具可以帮助您更深入地了解应用的移动网络使用情况。Battery Historian 提供了基于每个应用的移动无线电使用情况的可视化,这有助于您更清楚地了解您的应用发生了什么。有关 Battery Historian 的更多信息,请参阅使用 Battery Historian 分析功耗。在调查应用的移动网络使用行为时,应特别注意移动网络使用线。

有关使用 Battery Historian 机制的信息,请参阅Batterystats 和 Battery Historian 教程

减少移动网络使用量

您可以将应用的移动网络使用转移到前台,提醒用户下载正在进行中,并为其提供暂停或停止下载的控件。为此,请调用DownloadManager,并根据需要设置setNotificationVisibility(int)