android– 服务与IntentService

android– 服务与IntentService,第1张

概述有人可以告诉我一个可以使用服务无法完成的IntentService的事情的例子(反之亦然)吗?我也相信IntentService在不同的线程中运行而Service不在.因此,据我所知,在自己的线程中启动服务就像启动一个IntentService.不是吗?如果有人可以帮我解决我的两个问题,我将不胜感激.解决方法:Tejas

有人可以告诉我一个可以使用服务无法完成的IntentService的事情的例子(反之亦然)吗?@H_419_1@

我也相信IntentService在不同的线程中运行而Service不在.因此,据我所知,在自己的线程中启动服务就像启动一个IntentService.不是吗?@H_419_1@

如果有人可以帮我解决我的两个问题,我将不胜感激.@H_419_1@

解决方法:@H_419_1@

Tejas Lagvankar写了一篇关于这个主题的post.
以下是Service和IntentService之间的一些主要区别.
@H_419_1@

什么时候用?@H_419_1@

>该服务可用于没有UI的任务,但不应太长.如果需要执行长任务,则必须使用Service中的线程.
> IntentService可用于长任务,通常不与主线程通信.如果需要通信,可以使用主线程处理程序或广播意图.另一种使用情况是需要回调时(Intent触发的任务).@H_419_1@

怎么触发?@H_419_1@

>通过调用方法startService()触发服务.
>使用Intent触发IntentService,它生成一个新的工作线程,并在此线程上调用onHandleIntent()方法.@H_419_1@

触发来自@H_419_1@

>可以从任何线程,活动或其他应用程序组件触发Service和IntentService.@H_419_1@

运行@H_419_1@

>服务在后台运行,但它在应用程序的主线程上运行.
> IntentService在单独的工作线程上运行.@H_419_1@

限制/缺点@H_419_1@

>服务可能会阻止应用程序的主线程.
> IntentService无法并行运行任务.因此,所有连续的意图将进入工作线程的消息队列,并将按顺序执行.@H_419_1@

什么时候停?@H_419_1@

>如果您实现了服务,则通过调用stopSelf()或stopService(),您有责任在工作完成后停止服务. (如果您只想提供绑定,则不需要实现此方法).
> IntentService在处理完所有启动请求后停止服务,因此您永远不必调用stopSelf().@H_419_1@ 总结

以上是内存溢出为你收集整理的android – 服务与IntentService全部内容,希望文章能够帮你解决android – 服务与IntentService所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1104540.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存