A
Air官方
下载到一半、录音到一半、同步到一半——长后台任务的宿命就是被切后台。鸿蒙对后台执行有专门的权限与任务体系,这篇讲正确姿势。
▍后台执行的三支柱
长时任务:有声播放、录音、下载上传、导航等场景申请长时任务,系统在任务期间保活应用(任务栏有显式提示)。延迟任务与代理:不急的活交给系统的调度通道(充电时、闲时执行)。后台模式权限:特定场景的常驻能力(如音频类应用的常驻诉求),审核门槛高,按需申请。原则:对号入座,别越级——够用长时任务就别申请常驻。
▍长时任务的正确用法
申请时机:任务真正开始时申请(开始下载那一刻),完成即释放——挂着长时任务不干活,既耗电又招系统反感。类型匹配:申请的任务类型要与实际行为一致(说是下载实际在挖矿,系统检测到不一致会处置)。通知联动:长时任务通常伴随通知(用户可见后台在干什么),通知文案与进度要真实。
▍切后台的过渡
用户按返回或切走时任务不该断:生命周期回调里把任务状态落盘、把 UI 状态与任务解耦(UI 可以死,任务活着)。回到前台恢复展示。多任务并发(同时下载多个)的取消与优先级管理。
▍杀不死的兜底
即便合规,极端内存压力下仍可能被杀:任务的断点续传设计(分块进度记录,重启续传);任务队列持久化(被杀重启后接着干)。把被杀当正常事件设计,而不是异常。
▍常见错误
一,申请了长时任务却在里面干别的(被检测处置,还连累审核记录)。二,任务完成不释放(后台空转耗电,用户投诉发热)。三,用界面保活冒充任务保活(放个空界面常亮——现代系统会识别,用户也烦)。四,下载类任务不处理网络切换(无线换蜂窝的断点、计费提醒)。
▍验收
后台下载一小时不被杀(中端机);任务完成即释放(后台功耗归零);被杀重启后续传;任务通知与实际进度一致。
有疑问欢迎在本板块直接发帖,我们会逐条回复。
▍后台执行的三支柱
长时任务:有声播放、录音、下载上传、导航等场景申请长时任务,系统在任务期间保活应用(任务栏有显式提示)。延迟任务与代理:不急的活交给系统的调度通道(充电时、闲时执行)。后台模式权限:特定场景的常驻能力(如音频类应用的常驻诉求),审核门槛高,按需申请。原则:对号入座,别越级——够用长时任务就别申请常驻。
▍长时任务的正确用法
申请时机:任务真正开始时申请(开始下载那一刻),完成即释放——挂着长时任务不干活,既耗电又招系统反感。类型匹配:申请的任务类型要与实际行为一致(说是下载实际在挖矿,系统检测到不一致会处置)。通知联动:长时任务通常伴随通知(用户可见后台在干什么),通知文案与进度要真实。
▍切后台的过渡
用户按返回或切走时任务不该断:生命周期回调里把任务状态落盘、把 UI 状态与任务解耦(UI 可以死,任务活着)。回到前台恢复展示。多任务并发(同时下载多个)的取消与优先级管理。
▍杀不死的兜底
即便合规,极端内存压力下仍可能被杀:任务的断点续传设计(分块进度记录,重启续传);任务队列持久化(被杀重启后接着干)。把被杀当正常事件设计,而不是异常。
▍常见错误
一,申请了长时任务却在里面干别的(被检测处置,还连累审核记录)。二,任务完成不释放(后台空转耗电,用户投诉发热)。三,用界面保活冒充任务保活(放个空界面常亮——现代系统会识别,用户也烦)。四,下载类任务不处理网络切换(无线换蜂窝的断点、计费提醒)。
▍验收
后台下载一小时不被杀(中端机);任务完成即释放(后台功耗归零);被杀重启后续传;任务通知与实际进度一致。
有疑问欢迎在本板块直接发帖,我们会逐条回复。
楼主
7 天前