HarmonyOS 线程池在应用前后台切换后,是如何执行的

let ff = () => {
  taskpool.execute(timerTasks, ohguard, false).then((value: Object) => {
    Logger.logan("NativeLoop success2:" + JSON.stringify(value));
  }).catch((err: BusinessError) => {
    Logger.logan("NativeLoop execute err2:" + JSON.stringify(err));
  });
}
setInterval(ff, 60 * 1000);

目的是每分钟执行一次。现在有这样一个问题,假设当前有一个任务A在执行,则应用被切换到后台了,任务可能被暂停……那么此时,setInterval(ff, 60 * 1000)。是否会继续计时?等下一个一分钟时,有一个任务B,应用被切换到前台后,是不是可能存在,两个任务A、B都在执行?

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

未开启长时任务,程序放在后台后,setInterval执行最后一次任务之后就会停止运行被挂起。应用被挂起后,不是立马回收资源,只是任务停止运行应用挂起,比如应用setInterval仍在。等待一段时间后回到前台,应用恢复将继续执行任务,但在后台的等待时间内并不会执行任务。需要申请长时任务,只要开了长时任务并成功触发条件,在后台和锁屏才可以成功执行任务。

分享
微博
QQ
微信
回复
3天前
相关问题
Component如何监听应用前后台切换
1209浏览 • 1回复 待解决
HarmonyOS应用前后台状态切换事件监听
754浏览 • 1回复 待解决
HSP如何感知前后台切换
2135浏览 • 1回复 待解决
HarmonyOS 相机模块前后台切换
216浏览 • 1回复 待解决
HarmonyOS 前后台进程切换时机
81浏览 • 1回复 待解决
有监听应用前后台状态切换api吗
1706浏览 • 1回复 待解决
HarmonyOS 组件如何感知app前后台切换
429浏览 • 0回复 待解决
HarmonyOS线程周期执行任务
1107浏览 • 1回复 待解决
如何在组件中监听App前后台切换
326浏览 • 0回复 待解决
如何判断应用处于前后台
489浏览 • 1回复 待解决
线程线程个数限制
2418浏览 • 1回复 待解决
数据库连接线程安全吗?
2312浏览 • 1回复 待解决
HarmonyOS线程使用崩溃
464浏览 • 1回复 待解决
如何判断前后台进程,有知道吗?
1841浏览 • 1回复 待解决
HarmonyOS 关于切换前后相机问题
132浏览 • 1回复 待解决