gpt4 book ai didi

java - JobIntentService 和 IntentService 有什么区别?

转载 作者:行者123 更新时间:2023-12-01 09:49:45 25 4
gpt4 key购买 nike

我不明白这两个 API 有什么区别。我的意思是什么时候使用第一个。为什么会有 JobIntentService ?
提前致谢

最佳答案

我建议阅读这篇文章,解释 intent service and job intent service 之间的区别。 .当我们第一次寻找这些术语时Service , IntentService , JobIntentService它们看起来几乎相似——以一种或另一种方式,它们会在后台执行一些操作(用户不会注意到)。但是它们的操作方式几乎没有区别,

  • 服务 - 这在调用此服务并执行一些后台操作的同一主线程上运行。对于主线程上发生的任何长时间运行的操作,建议创建一个新线程并在不影响主线程性能的情况下完成该工作(例如 Handler)。
    缺点:在主线程上运行
  • IntentService - Intent 服务还有助于执行一些长时间运行(无限期)的后台任务。唯一的区别是它创建了一个新线程来执行这个任务,而不是在主线程上运行。给定的工作是 onHandleIntent .
    缺点:当应用程序被杀死时,分配给 IntentService 的工作会丢失
  • JobIntentService - 工作 Intent 服务与 IntentService 非常相似,但没有什么好处,例如应用程序可以随时终止此工作,并且一旦应用程序重新创建/启动,它就可以从头开始工作。

  • 但是从奥利奥,如果应用程序在后台运行,则不允许在后台启动服务。 Android 要求我们通过 context.startForegroundService 显式启动服务而不是 context.startService并且当服务在 5 秒内启动时,它必须与通知相关联,以便有一个与之关联的 UI 元素。
    引用: https://developer.android.com/about/versions/oreo/background.html

    关于java - JobIntentService 和 IntentService 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53252792/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com