后台移动网络使用量过高

当应用在后台连接移动网络时,应用会唤醒 CPU 并开启无线装置。如果反复执行此操作,可能会耗尽设备的电量。如果某个应用处于 PROCESS_STATE_BACKGROUNDPROCESS_STATE_CACHED 状态,则会被视为在后台运行。

本页介绍了如何确定您的应用在后台运行时过度使用移动网络的原因,以及应采取的应对措施。

检测问题

您有时可能并不知道应用在后台运行时过度使用了网络。如果您已经发布了应用,可以通过 Android Vitals 来了解问题并相应地解决问题。

Android Vitals

当您的应用在后台过度使用移动网络时,Android Vitals 可通过 Play 管理中心提醒您,从而帮助您改进应用性能。

Android Vitals 认为后台网络使用量过高的标准是,在后台运行时,应用在 0.10% 的电池工作时段内每天发送和接收的数据合计达 50 MB。

电池工作时段的定义取决于平台版本。

  • 在 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)