JobIntentService的onHandleWork()方法的最长作业执行时间是多少?

3

我在使用 JobIntentService 时,在 Android 8 上遇到了 SecurityException 崩溃,targetSDK 版本为 26。

以下是来自 JobIntentService 文档的内容:

enter image description here

那么,最大的任务执行时间限制是多少?如果超过了这个限制,是否可能会抛出 SecurityException 异常?

请参阅 Security Exception 问题跟踪器

谢谢!


1
“最大作业执行时间限制是多少?” - 在Android 8.x中,硬编码为10分钟,实现在JobService中。 “如果我们超过了这个限制 - 是否可能会抛出SecurityException异常?” - 这些问题似乎不是由于超过10分钟的限制引起的。但是,我还没有测试过如果您尝试运行超过10分钟会发生什么。 - CommonsWare
2个回答

2
我已经手动测试过,最大执行时间为600秒,也就是10分钟。接下来会发生什么呢?JobIntentService将被销毁,然后重新创建以恢复其余工作。这已经在从AndroidMarshmallow到Android Oreo的设备上进行了测试。我也没有遇到任何抛出的异常,我还使用Thread.sleep()方法来模拟长时间进程。
更新1: 我注意到,在一段时间后服务停止或者安卓将其休眠。假如说你在后台做持续检查,例如API调用以获取最新数据并推送通知。它可以一段时间内正常工作,但在一两天后会突然停止。我不确定为什么会随机停止。

感谢您的测试,但我相信我们不想要实验结果(已经过时),而是要有力的事实。 - Marian Paździoch

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接