HarmonyOS 后台任务管理开发指南上线!

为什么要使用后台任务?开发过程中如何选择合适的后台任务?后台任务申请时存在哪些约束与限制?

针对开发者使用后台任务中的疑问,我们**上线了概念更明确、逻辑结构更清晰的后台任务开发指南,包含具体的使用场景、详细的开发步骤,**帮助开发者全面理解申请后台任务的必要性、后台任务类型和申请操作步骤等。

本期 HarmonyOS 开发者资料直通车带您快速了解内容干货~

一、初识后台任务

设备返回主界面、锁屏、应用切换等操作会使应用退至后台,应用退至后台后如果继续活动,可能会造成设备耗电快、用户界面卡顿等现象。为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控,包括进程挂起(即系统不再为应用进程分配 CPU 资源,同时对应的公共事件等不再发给应用进程)和进程终止。

为了保障后台音乐播放、日历提醒等功能的正常使用,系统提供了规范内受约束的后台任务,扩展应用在后台运行时间,包括短时任务、长时任务、延迟任务、代理提醒。

参考文档链接

后台任务总体概述: https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/background-task-overview-0000001614944868-V3

二、选择后台任务

开发者可以根据如下的功能介绍,选择合适的后台任务,以满足应用退至后台后继续运行的需求。

○ **短时任务:**适用于实时性要求高、耗时不长的任务,例如应用更新时退至后台后继续更新,保存更新时的数据和状态。

○ **长时任务:**适用于长时间运行在后台、用户可感知的任务,例如后台播放音乐、导航、设备连接等,使用长时任务避免应用进程被挂起。

○ **延迟任务:**适用于实时性要求不高、可延迟执行的任务。应用退至后台后被放入执行队列,系统会根据内存、功耗等统一调度,例如有网络时不定期主动获取邮件。

○ **代理提醒:**代理提醒是指应用退后台或进程终止后,系统会代理应用做相应的提醒。适用于定时提醒类业务,当前支持的提醒类型包括倒计时、日历和闹钟三类。

图 1 后台任务类型选择

为保障选择到合适的任务,开发者可以根据图 1 流程图再次判断。

参考文档链接

后台任务总体概述: https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/background-task-overview-0000001614944868-V3

三、申请后台任务

选择合适的后台任务类型后,可以进行申请后台任务的操作啦~以短时任务为例,清晰地呈现申请后台任务时的操作步骤。

①了解相关机制及规格,实现更高效开发。

○ 申请时机:应用需要在前台或退至后台 5 秒内申请短时任务。

○ 数量限制:一个应用同一时刻最多支持申请 3 个。

○ 配额机制:一个应用有一定时间配额,单日配额 10 分钟,单次配额最大为 3 分钟,低电量时默认为 1 分钟,配额消耗完后不允许再申请短时任务。所以,任务完成后,应用需主动取消短时任务,否则会影响应用当日短时任务的剩余配额。

○ 配额计算:仅当应用在后台时,统计应用下的短时任务计时;同一个应用下的同一个时间段的短时任务,不重复计时。

②导入相关模块,申请短时任务并实现回调。

③查询短时任务的剩余时间,用以判断是否继续运行其他业务。

④任务完成后,及时取消短时任务。

更详细内容请参见:

参考文档链接

短时任务: https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/transient-task-0000001759591245-V3

长时任务: https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/continuous-task-0000001711672320-V3

延迟任务: https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/work-scheduler-0000001711831844-V3

代理提醒: https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/agent-powered-reminder-0000001663585481-V3

四、期待您的反馈

以上就是本期为大家准备的 HarmonyOS 后台任务管理开发指南上新内容,希望能够帮助开发者更高效地探索、体验、上手 HarmonyOS。

同时,我们十分重视开发者的意见,欢迎各位开发者在 HarmonyOS 应用开发官网积极反馈意见。

我们将持续提升文档体验、丰富和完善内容,感谢各位开发者的支持及信赖,您的满意是我们持续提升文档体验的目标和动力。

相关推荐
HwJack209 分钟前
HarmonyOS APP开发之玩透 ChannelConfig 的声道映射
华为·harmonyos
Lanren的编程日记15 分钟前
Flutter 鸿蒙应用列表性能优化实战:虚拟列表+分页加载+渲染优化,实现60fps丝滑滚动
flutter·华为·性能优化·harmonyos
Lanren的编程日记22 分钟前
Flutter 鸿蒙应用游戏化元素实战:积分等级+成就解锁+排行榜,全方位提升用户粘性
flutter·游戏·华为·harmonyos
liulian091633 分钟前
【Flutter for OpenHarmony 第三方库】Flutter for OpenHarmony 引导页设计与新用户体验优化实现指南
flutter·华为·学习方法·harmonyos·ux
Lanren的编程日记1 小时前
Flutter 鸿蒙应用内存管理优化实战:对象池+智能缓存+泄漏检测,全方位提升应用稳定性
flutter·缓存·华为·harmonyos
想你依然心痛1 小时前
HarmonyOS 6(API 23)游戏开发实战:基于 Face AR & Body AR 的“律动星途“体感音游
华为·ar·harmonyos·body·face·悬浮导航·沉浸光感
liulian09162 小时前
【Flutter for OpenHarmony 第三方库】Flutter for OpenHarmony 实时聊天功能适配与实现指南
flutter·华为·学习方法·harmonyos
Lanren的编程日记2 小时前
Flutter 鸿蒙应用多设备同步功能实战:完整同步协议+冲突解决机制,打造跨设备一致体验
flutter·华为·harmonyos
想你依然心痛2 小时前
HarmonyOS 6(API 23)实战:基于 Face AR 专注度检测与 Body AR 手势互动的“智能互动课堂“教师授课系统
华为·ar·harmonyos·悬浮导航·沉浸光感·face ar·body ar
小成Coder2 小时前
【Jack实战】如何用 UserAuthenticationKit 给 HarmonyOS 应用加一道本地身份验证
华为·harmonyos