首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:在系统空闲时调度长后台任务

Android:在系统空闲时调度长后台任务
EN

Stack Overflow用户
提问于 2018-08-06 14:46:43
回答 1查看 1.9K关注 0票数 0

我正在编写一个Android应用程序,它记录视频,然后对录制的视频进行后处理。由于后处理可能需要一段时间(最多一个小时),所以我正在计划一项服务-- JobService使用JobScheduler在手机连接到电源和空闲时运行,即在夜间运行。在新线程上执行长期运行的作业服务。

在实践中,我的预定服务工作非常缓慢。虽然它在系统空闲时运行,但它得到的CPU带宽却很少。另外,我的服务在10分钟后被操作系统停止。

我知道Android Oreo限制了后台处理。谷歌对此有很好的记录。但是,我想知道是否有一种方法可以在系统空闲时运行后台服务。

当系统空闲时,是否有一种运行长后台服务的方法?例如视频后处理?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-06 15:37:43

您需要使用Foreground service

它们是少数几种用于运行长背景任务的方法之一。用户必须知道在他的设备上发生了什么,他应该有能力决定是否停止它。

您可以阅读如何实现基本的前台服务这里,并且在互联网上有很多指南介绍如何以一种高级的方式实现它们。

请记住,即使是前台服务也可以被操作系统停止,如果系统内存压力很大,而只剩下要破坏的东西是前台服务。因此,如果发生这种情况,您应该始终有一个恢复过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51710298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档