android - Android 定期作业计划程序在 10-12 小时左右后停止运行
问题描述
我正在使用 JetPack/Androidx 的 JobScheduler API 设置定期作业。我安排它每 15 分钟运行一次,唯一的限制是设备何时连接到任何网络。
作业在 10-12 小时的窗口内被安排并运行了好几次。当设备处于打盹或睡眠模式时,作业运行的频率会发生变化,但这很好。当设备再次唤醒时,作业会更频繁地运行 - 到目前为止一切都很好。
现在,在 10-12 小时后,即使我将设备/屏幕保持打开一段时间,这项工作也根本不会运行。如果我查找定期作业状态(通过 WorkInfo),它会以 ENQUEUED 形式返回。但它从不运行。
知道有什么问题吗?
谢谢!
编辑:在某些作业运行期间(当它被安排时),我遇到了一些异常(我们故意关闭服务器以测试某些场景)。因此,当应用程序无法连接到服务器时,会出现诸如 SocketException 之类的异常。但是所有这些异常都会被捕获,并且响应总是Result.success();
. 不确定,如果 Job Scheduler 知道这是抛出了一些异常(尽管被doWork
函数捕获),并自动退出 Job?
解决方案
推荐阅读
- sql - 如何在第一个表的列中指定的日期之前实现连接以获取第二个表中所有记录的计数
- wordpress - 无法在 azure 上的 wordpress 上安装肥皂
- reactjs - React Table Filters - 选择和取消选择多个过滤器
- python - 如何通过qpython将保存分钟列表的字典传递给kdb
- python - 为什么我的 Python PyAutoGUI / 图像抓取脚本很慢?
- excel - 如何查看有条件的数据
- angular - 如何使用插入功能在帖子正文上显示多个图像,例如带有 Angular 的 Blogspot 帖子编辑器?
- azure - Azure 容器组的多个出口 IP
- python - 如何解决错误消息 python webcrawler?
- c# - 正则表达式 - 从字符串中提取第二个位置数字