android-Service和Thread的区别

 我来答
故事还长ms
高粉答主

2015-11-13 · 每个回答都超有意思的
知道大有可为答主
回答量:8021
采纳率:61%
帮助的人:1690万
展开全部
  android的线程(Thread)和服务(Service)的区别
  1、服务不是单一的进程。服务没有自己的进程,应用程序可以不同,服务运行在相同的进程中。
  2、服务不是线程。可以在线程中工作。

  一.在应用中,如果是长时间的在后台运行,而且不需要交互的情况下,使用服务。
  同样是在后台运行,不需要交互的情况下,如果只是完成某个任务,之后就不需要运行,而且可能是多个任务,需需要长时间运行的情况下使用线程。
  二.如果任务占用CPU时间多,资源大的情况下,要使用线程。
满地花伤
2015-02-13 · TA获得超过374个赞
知道小有建树答主
回答量:457
采纳率:50%
帮助的人:115万
展开全部
  1. Service其实就是一个没有界面的Activity,因此不能做长时间阻塞,ThreadService可以做阻塞,因为它是异步的

  2. Thread不能更新UI因为他自己本身已经脱离了UI线程,不存在Handler以及Message队列,但是Service系统会像Activity一样,将其绑定到UI线程上

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2018-07-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
两者完全是不同的概念
Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。如果一个程序是一个工厂的话,那么每个thread就是一台机器,可以几台机器同时工作做同一件事情,那么效率就会大大提高
Service:Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数在被系统调用的时候都是在主进程的 main 线程上运行的。如果是Remote Service,那么对应的 Service 则是运行在独立进程的 main 线程上。因此不要把 Service 理解成线程,它跟线程并没有任何关系
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
砌方糖
2015-02-13 · TA获得超过105个赞
知道答主
回答量:104
采纳率:0%
帮助的人:30.4万
展开全部
一个是服务,后台运行的。另外一个是线程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大河原陈景d1a54
2015-02-13 · TA获得超过3436个赞
知道小有建树答主
回答量:6144
采纳率:0%
帮助的人:995万
展开全部
头扫我像
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式