鸿蒙NEXT开发【控制后台进程CPU使用率】后台任务功耗优化

应用退至后台后,如果继续活动,可能会造成设备耗电快、用户界面卡顿等现象。为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控,包括进程挂起和进程终止。为了保障后台音乐播放、日历提醒等功能的正常使用,系统提供了规范内受约束的后台任务,扩展应用在后台运行时间。

合理的选择和使用后台任务对于优化用户体验,减少性能消耗非常重要。以下表格对比总结了各类后台任务的概念、适用场景以及任务执行过程中的应用状态。

任务类型概念应用退至后台状态适用场景
无后台不执行任何任务,直接退到后台。一小段时间后应用挂起(几秒内)。通用。
短时任务实时性要求高、耗时不长的任务。在单次配额内,应用不会被挂起直到取消任务。单次配额超时不取消,应用进程会被终止。小文件下载、缓存、信息发送等时效性高、需要临时占用资源执行的任务。
长时任务长时间运行在后台、用户可感知的任务。应用不会被挂起直到取消任务,任务结束不取消应用进程会被终止。数据传输、音频播放、录音、定位导航、蓝牙、WLAN 相关、多设备互联、音视频通话、计算任务。
延迟任务实时性要求不高、可延迟执行的任务,满足条件后放入执行队列,系统会根据内存、功耗等统一调度。应用退到后台时挂起,满足任务设定条件时由系统统一调度拉起应用,创建 Extension 进程执行任务。单次回调最长运行 2 分钟,如果超时不取消,系统会终止对应的 Extension 进程。软件更新、信息收集、数据处理等。
代理提醒系统代理应用做出相应提醒。应用挂起或进程终止,满足条件后系统会代理应用做相应的提醒。闹钟、倒计时、日历。

CPU使用率是指进程在CPU上的运行时间与总时间的百分比,即CPU使用率 = 运行时间/总时间。单核CPU使用率最大为100%,多核CPU的使用率为核数*100%(比如8核CPU使用率最大为800%)。

进程的任务会被系统调度到多个CPU核上,进程在所有核上运行的时间总和除以总时间即为该进程的CPU使用率。例如1秒内进程在所有核上运行的总时间为1.1秒,则该进程的CPU使用率为110%。

约束

长时任务后台进程CPU使用率约束:后台进程持续10分钟单核CPU使用率不得高于80%。

短时任务后台进程CPU使用率约束:后台进程任务期间单核CPU使用率不得高于80%。

调测验证

  1. 连接设备,打开命令行窗口,输入hdc shell进入设备。

    1

  2. 输入ps –ef | grep bundleName,查询要查看应用使用率的进程号。

    2

  3. 输入top –p xxx,查看对应进程的使用率。查询结果中CPU列即为进程的实时使用率。其中 xxx 是一个进程 ID (PID)

    3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值