IT之家 11 月 28 日消息,针对开发者使用后台任务中的疑问,华为现已上线概念更明确、逻辑结构更清晰的后台任务开发指南,包含具体的使用场景、详细的开发步骤,帮助开发者全面理解申请后台任务的必要性、后台任务类型和申请操作步骤等。

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

▲ 后台任务类型选择,图源华为官方

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

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

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

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

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

▲ 图源华为官网

选择合适的后台任务类型后,开发者便可以进行申请后台任务的操作,以短时任务为例,IT之家附操作步骤如下:

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

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

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

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

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

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

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

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