我有一个JobService,它启动一个线程并与服务器进行一些长时间的同步。同步实际上可能持续一个小时或更长时间。作业计划在手机充电时启动,并应每小时重新启动一次:
JobInfo jobInfo = new JobInfo.Builder(JOB_ID, serviceName)
.setRequiresCharging(true)
.setOverrideDeadline(1 * 60 * 60 * 1000)
.build();
所以,我插上我的Android 7手机并观察日志。我可以清楚地看到调度程序每隔10分钟左右停止一次作业(调用onStopJob()
)然后重新启动。
为什么即使手机插上电源,调度程序也会停止工作?
我已经检查过是否存在内存泄漏,但似乎并非如此。
帮助!