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

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

本期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应用开发官网积极反馈意见。

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

HarmonyOS后台任务管理开发指南上线!的更多相关文章

  1. 支付宝使用流程和踩坑小记(附Demo)

    # 支付宝使用整理 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym, ...

  2. 端云协同,打造更易用的AI计算平台

    内容来源:华为开发者大会2021 HMS Core 6 AI技术论坛,主题演讲<端云协同,HUAWEI HiAI Foundation打造更易用的AI计算平台>. 演讲嘉宾:华为海思AI技 ...

  3. 《Office 365开发入门指南教程》正式上线,限时优惠和邀请分享推广

    我很高兴地通知大家,<Office 365 开发入门指南教程>已经正式在网易云课堂上线,你可以通过直接访问  https://aka.ms/office365devlesson 这个短地址 ...

  4. HarmonyOS三方件开发指南(12)——cropper图片裁剪

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1. cropper组件功能介绍2. cropper使用方法3. cropper组件开发实现4. ...

  5. HarmonyOS三方件开发指南(13)-SwipeLayout侧滑删除

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 目录:1. SwipeLayout组件功能介绍2. SwipeLayout使用方法3. SwipeLa ...

  6. HarmonyOS三方件开发指南(14)-Glide组件功能介绍

    <HarmonyOS三方件开发指南>系列文章合集 引言 在实际应用开发中,会用到大量图片处理,如:网络图片.本地图片.应用资源.二进制流.Uri对象等,虽然官方提供了PixelMap进行图 ...

  7. HarmonyOS三方件开发指南(15)-LoadingView功能介绍

    目录: 1. LoadingView组件功能介绍2. Lottie使用方法3. Lottie开发实现4.<HarmonyOS三方件开发指南>系列文章合集 1. LoadingView组件功 ...

  8. HarmonyOS三方件开发指南(16)-VideoCache 视频缓存

    目录: 1.引言 2.功能介绍 3.VideoCache使用指南 4.VideoCache开发指南 5.<HarmonyOS三方件开发指南>系列文章合集 引言 对于视频播放器这个app大家 ...

  9. HarmonyOS三方件开发指南(17)-BottomNavigationBar

    目录: 1.引言 2.功能介绍 3.BottomNavigationBar使用指南 4.BottomNavigationBar开发指南 5.<HarmonyOS三方件开发指南>文章合集 引 ...

  10. HarmonyOS三方件开发指南(19)-BGABadgeView徽章组件

    目录: 1.引言 2.功能介绍 3.BGABadgeView 使用指南 4.BGABadgeView 开发指南 5.<HarmonyOS三方件开发指南>系列文章合集 引言 现在很多的APP ...

随机推荐

  1. gitlab推送代码触发jenkins构建

    预期:推送devloop或者master分支的代码, 自动执行jenkins 发布测试环境 首先,jenkins中需要安装如下插件 打开一个任务配置,构建触发器中勾选"Build when ...

  2. nginx Host值设置

    $server_port :nigix监听的端口 $proxy_port : 服务器真正访问的端口 #设置请求头"Host"值(为入口域名和端口) proxy_set_header ...

  3. pdfz Vue-3-Cheat-Sheet-zh 官方要是能下载下来,我也就不放这里了。 VUE3 composition API cheat sheet

    https://files.cnblogs.com/files/pengchenggang/Vue-3-Cheat-Sheet-zh.zip 官方下载地址:https://www.vuemastery ...

  4. FreeRTOS教程4 消息队列

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...

  5. stm32芯片的SPI接口调试总结之轮询模式

    一 概念 1 组成 SPI系统可直接与各个厂家生产的多种标准外围器件接口,它只需4条线:串行时钟线(SCK).主机输入/从机输出数据线(MISO).主机输出/从机输入数据线(MOSI)和低电平有效的从 ...

  6. gcc编译stm32 f103出现错误init.c:(.text.__libc_init_array+0x20): undefined reference to `_init'

    解决方法: 方法一:去掉makefile中的编译选项:-nostartfiles 方法二:方法一不凑效的情况下,添加编译选型:--specs=nano.specs

  7. ETL工具-KETTLE教程实例实战3----转换(输入、输出)

    ETL工具-KETTLE教程实例实战3----转换(输入.输出) 欢迎关注笔者的公众号: java大师, 每日推送java.kettle运维等领域干货文章,关注即免费无套路附送 100G 海量学习.面 ...

  8. UDP可靠传输协议KCP的一些理解

    UDP主要用在哪两个方面 游戏 音视频通话 为什么要使用UDP? 实时性的考虑,丢包重传,TCP协议栈重传无法控制,UDP重发可以自定义策略. 在DNS查询的时候,也使用UDP,对资源的考虑. 如何做 ...

  9. 各种O总结及阿里代码规范总结

    首先梳理下POJO POJO包括 DO/DTO/BO/VO(所有的POJO类属性必须使用包装数据类型.) 定义 DO/DTO/VO 等 POJO 类时,不要设定任何属性默认值. controller使 ...

  10. Elasticsearch - Docker安装Elasticsearch8.12.2

    前言 最近在学习 ES,所以需要在服务器上装一个单节点的 ES 服务器环境:centos 7.9 安装 下载镜像 目前最新版本是 8.12.2 docker pull docker.elastic.c ...