Moa*_*leq 16 java android background-process android-intentservice jobintentservice
我不明白这两个 API 之间有什么区别。我的意思是什么时候使用第一个。为什么有 JobIntentService ?提前致谢
rm *_*tar 25
我建议阅读这篇文章,解释Intent Service 和 Job Intent Service之间的区别。当我们第一次查找这些术语Service时IntentService,JobIntentService它们看起来几乎相似——以某种方式,它们会在后台执行一些操作(用户不会注意到)。但它们的运作方式几乎没有什么不同,
服务 - 它在调用此服务并执行一些后台操作的同一主线程上运行。对于主线程上发生的任何长时间运行的操作,建议创建一个新线程并Handler通过不影响主线程的性能来完成工作(例如;)。
缺点:在主线程上运行
IntentService - Intent 服务还有助于执行一些长时间运行(不确定)的后台任务。唯一的区别是它创建了一个新线程来执行这个任务,而不是在主线程上运行。给定的工作是否在它的onHandleIntent.
缺点:当应用程序被终止时,分配给 IntentService 的工作会丢失
但是从奥利奥开始,如果应用程序在后台运行,则不允许在后台启动服务。Android 要求我们显式启动服务,context.startForegroundService而不是context.startService当服务在 5 秒内启动时,它必须与通知绑定,以便有一个与之关联的 UI 元素。
参考:https : //developer.android.com/about/versions/oreo/background.html
小智 5
两者工作原理相同,但与 JobIntentService 的唯一区别是,如果应用程序在服务执行时被终止,JobIntentService 将重新启动。OnHandleWork() 在应用程序被终止后重新启动。
| 归档时间: |
|
| 查看次数: |
12094 次 |
| 最近记录: |