后台移动网络使用量过高

当应用在后台连接移动网络时,应用会唤醒 CPU 并开启无线装置,而且反复执行此操作可能会耗尽设备的电量。应用如果处于 PROCESS_STATE_BACKGROUNDPROCESS_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)