当应用在后台连接到移动网络时,它会唤醒 CPU 并打开无线电。重复此操作会耗尽设备的电池电量。如果应用处于 PROCESS_STATE_BACKGROUND
或 PROCESS_STATE_CACHED
状态,则视为在后台运行。
本页介绍了如何确定您的应用为何在后台运行时过度使用移动网络,以及如何解决此问题。
检测问题
您可能并不总是知道您的应用在后台运行时过度使用了网络。如果您已发布应用,Android Vitals 可以让您了解此问题,以便您进行修复。
Android Vitals
Android Vitals 可以帮助您提升应用性能,当您的应用在后台过度使用移动网络时,它会通过 Play 管理中心向您发出提醒。
当应用在后台运行期间每天发送和接收的移动网络数据总量达到 50 MB 或以上时,Android Vitals 会将后台网络使用量视为过高。在 Play 管理中心,您可以查看出现此行为的电池会话的百分比。
电池会话的定义取决于平台版本。
- 在 Android 10 中,电池会话是给定 24 小时内收到的所有电池报告的汇总。电池报告是指两次充电之间的间隔,充电范围为从 20% 以下到 80% 以上,或从任意电量级别到 100%。
- 在 Android 11 中,电池会话是一个固定的 24 小时时段。
有关 Google Play 如何收集 Android Vitals 数据的信息,请参阅 Play 管理中心文档。
调查移动网络使用行为
Battery Historian 等工具可以帮助您更深入地了解应用的移动网络使用情况。Battery Historian 以每个应用为基础提供移动无线电使用情况的可视化,这有助于您更清楚地了解应用的情况。有关 Battery Historian 的更多信息,请参阅 使用 Battery Historian 分析电量使用情况。在调查应用的移动网络使用行为时,您应特别注意“移动网络使用情况”行。
有关使用 Battery Historian 的机制信息,请参阅 Batterystats 和 Battery Historian 演练。
减少移动网络使用量
您可以将应用的移动网络使用移到前台,提醒用户下载正在进行,并为他们提供暂停或停止下载的控件。为此,请调用 DownloadManager
,并视情况设置 setNotificationVisibility(int)
。
为您推荐
- 注意:当 JavaScript 关闭时,会显示链接文本
- 后台 Wi-Fi 扫描过多