执行后台工作是构建现代 Android 应用的关键部分,这些应用不仅能迅速响应,还高效且能遵守用户设备上的政策规定。后台工作是指应用在前台不可见时需要执行的任何任务,例如从服务器提取数据或处理图片。

要构建可在所有设备上正常运行的弹性应用,关键在于了解后台执行的复杂性。

后台工作使用入门

查看有关为您的使用情形选择合适的后台工作 API 的指南,并结合 Android 的进程和应用生命周期来考虑。
指南
选择合适的后台工作 API 可能很复杂。本页面清晰地介绍了何时使用异步工作、WorkManager、前台服务或替代方案。了解哪种 API 最适合您的特定使用情形。
指南
探索 Android 进程生命周期的基本概念,以及它对应用行为和资源管理的影响。了解系统如何根据 activity 状态管理应用进程,以便您设计可弹性应对系统启动的终止操作的高效应用。

主要概念

用于在后台执行工作的一些更常见的 API 和工具包括 WorkManager、前台服务、闹铃和广播。每种解决方案对用户设备的电池续航时间的影响各不相同。
WorkManager 是 Android 上持久性后台工作的推荐解决方案。了解如何使用此强大的库来安排在应用重启和设备重启后仍能继续执行的任务,并了解其用于处理限制条件和灵活重试政策的关键功能。
前台服务提供了一种强大的方式来立即运行不应中断的任务。了解何时以及如何声明、启动和停止具有持久性通知的前台服务,确保您的应用在执行关键任务时不会被系统终止。
闹钟是安排基于时间的工作的关键工具。本页介绍了如何使用 AlarmManager 为必须在特定时间或给定时间范围内运行的任务安排精确闹钟和非精确闹钟,即使您的应用未运行也是如此。此外,该文档还介绍了管理闹钟的最佳实践,以及如何确保闹钟针对电池续航时间进行优化。
了解如何发送和接收广播,以处理系统事件和其他应用的消息。您还将了解上下文注册的接收器和清单声明的接收器,以及适用于它们的现代系统限制。

按使用情形划分的背景指南

合适的解决方案因您的使用情形而异。Android 提供了许多针对特定任务的 API,这些 API 针对特定场景进行了优化,与使用 WorkManager 和前台服务相比,通常可以节省更多电量并减少限制。

本部分列出了一些更常见的用例以及推荐的解决方案。

大多数用例仅在用户与应用互动时需要位置信息。不过,如果您的应用需要在后台访问位置信息,请使用 Fused Location Provider API。利用此 API 获取缓存的最新已知位置,或请求定期位置信息更新。
使用更新方法在应用处于后台时高效更新 GlanceAppWidget。
使用蓝牙低功耗 (BLE) 在后台与外围设备通信。了解如何在遵守系统级限制和节省电量的同时,扫描、连接设备并与设备保持持久连接。
如需在移动设备上追踪步数,请考虑从 Health Connect(健康与健身数据的 Android 数据存储区)读取步数。
对于涉及数据传输(包括下载和上传)且旨在让用户了解进度的用户发起的后台任务,请使用“用户发起的数据传输作业”类型。此类作业针对长时间运行的数据传输进行了优化,并且系统会授予其优先级。
使用 Media3 库可在应用对用户不可见时支持后台播放。

了解电源优化

在创建高质量的 Android 应用时,务必考虑后台工作对电量的影响。通过了解系统如何管理资源,您可以构建更具弹性和更省电的应用。优化耗电量可减少电池消耗,防止应用被系统终止,并提供更顺畅的用户体验。
指南

系统会根据设备状态、应用状态和应用的待机存储分区来确定应用资源请求的优先级。

详细了解您的应用如何在设备的电源管理资源限制范围内运行,以便在后台可靠地执行工作。

指南
您的应用可能需要阻止设备 CPU 进入暂停状态,才能完成关键工作。本指南可帮助您选择最适合的设备唤醒方法。
指南
了解如何使应用适应低电耗模式和应用待机模式,以提高电池效率并改善用户体验。了解这些省电模式后,您可以确保应用以最佳状态运行,同时尽可能减少对设备电池续航时间的影响。
指南
从 Android 9 开始,设备具有会影响所有应用的电源管理功能。了解如何测试应用,以确保应用在所有设备上都能正常运行,包括在启用省电模式、应用待机分组和后台限制等功能的情况下。

最新资讯