JobIntentService 中没有 onHandleWork() 可以调用 onDestroy() 吗?

Can onDestroy() be called without onHandleWork() in JobIntentService?

我正在使用 JobIntentService.enqueueWork()

我想知道即使没有在 JobIntentService 中调用 onHandleWork(),是否也可以调用 onDestroy()

基本上,JobIntentService 的生命周期是多少。 onHandleWork() 是否保证在 onDestroy() 被调用之前至少被调用一次?

JobIntentService 的行为因目标设备上 Android 运行 的版本而异(在 API 级别 26 之前,或 API 26级或更高)。

但是,通常您可以假设 onHandleWork()onDestroy() 之前至少被调用一次。如果没有工作,就没有理由启动 Service。通常 Service 只有在队列中有工作时才会启动,在这种情况下 onHandleWork() 会在 Service 启动后立即调用。