JobScheduler第一次执行作业之前的延迟?

时间:2016-06-14 21:30:44

标签: android

我注意到,当我安排一份与JobScheduler一起运行的工作时,在第一次启动工作之前,似乎总有至少10分钟的延迟。有人知道为什么吗?我今天开始挖掘代码,但我找不到原因。我还在寻找,但我想我会问。

06-14 16:53:00.335 29024-29024/com.example.jobschedulertest.jobschedulertest D/XXX: Scheduling MyJobService to run.
06-14 17:03:17.173 29024-29024/com.example.jobschedulertest.jobschedulertest D/XXX: Job started
06-14 17:12:05.158 31668-31668/com.example.jobschedulertest.jobschedulertest D/XXX: Scheduling MyJobService to run.
06-14 17:22:07.280 31668-31668/com.example.jobschedulertest.jobschedulertest D/XXX: Job started

以下是我重新启动测试应用程序两次的输出。

CREATE_BAR

我在Nexus 6上运行Android N预览版本。

1 个答案:

答案 0 :(得分:0)

我相信这是在Android N中添加的东西。当他们发布代码时,我确信我能够看到导致延迟的原因。最有可能的原因是“打盹”优化。

我在Nexus 6p和Moto X Pure上进行了测试,两者都运行Marshmallow。两台设备几乎立即完成了这项工作。

来自Nexus 6P

06-16 14:55:03.045 13459-13459/com.example.jobschedulertest.jobschedulertest D/XXX: Scheduling MyJobService to run.
06-16 14:55:08.069 13459-13459/com.example.jobschedulertest.jobschedulertest D/XXX: Job started

来自Moto X Pure

06-16 14:55:03.045 13459-13459/com.example.jobschedulertest.jobschedulertest D/XXX: Scheduling MyJobService to run.
06-16 14:55:08.069 13459-13459/com.example.jobschedulertest.jobschedulertest D/XXX: Job started
06-16 14:52:19.315 19812-19812/com.example.jobschedulertest.jobschedulertest D/XXX: Scheduling MyJobService to run.
06-16 14:52:24.342 19812-19812/com.example.jobschedulertest.jobschedulertest D/XXX: Job started
06-16 14:52:56.480 19812-19812/com.example.jobschedulertest.jobschedulertest D/XXX: Job started