
回复
1.后台是什么?
了解后台任务和长时任务前,我们需要先明白鸿蒙的后台特性:所谓的后台,指的是设备返回主界面、锁屏、应用切换等操作会使应用退至后台这个状态。
2.鸿蒙系统为什么这么做?
当应用退至后台后,如果继续活动,可能会造成设备耗电快、用户界面卡顿等现象。鸿蒙系统为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控,包括进程挂起和进程终止。
3.会有什么问题?
当系统将应用挂起后,应用进程无法使用软件资源(如公共事件、定时器等)和硬件资源(CPU、网络、GPS、蓝牙等)。
综上所述,所以才会有标题存在的问题和对应的解决方案。
当我们应用正在使用蓝牙扫描 或者 音乐播放 或者 屏幕录制等类似的操作时,只要应用退到了后台超过三秒,就会被系统挂起,强制暂停。影响我们的逻辑业务。
所以这种情况下,鸿蒙提供了后台任务来解决。
后台任务是鸿蒙系统提供给有在后台,做业务操作不想被挂起需求的应用,提供的一套解决方案。
根据应用业务类型不同,也分为不同的后台任务:
根据我们的常规使用场景,例如屏幕录制举例,就需要使用长时任务来解决应用被挂起的问题。
1.首先我们需要根据自己的业务类型,选择对应的长时任务类型:
我们以屏幕录制举例,选择AUDIO_RECORDING
2.在module.json5配置后台任务权限和长时任务能力类型:
3.在录屏开启前,调用开启长时任务,退出录屏后取消长时任务。【开启和取消的两个调用时机需要注意,相当于长时任务的生命周期,是包裹住整个后台业务的生命周期。】
开启长时任务
关闭长时任务
module.json5
BackTaskTestPage.ets