Android Service,后台,Android的后台就是指,它的运行是完全不依赖UI的。即使Activity被销毁,或者程序被关闭,只要进程还在,Service就可以继续运行。比如说一些应用程序,始终需要与服务器之间始终保持连接,就可以使用Service来实现。而Serview就是运行在主线程中的,所有我们需要在Service中再创建一个子线程,然后在这里去处理耗时逻辑,否则会阻塞主线程的运行。

既然在Service里也要创建一个子线程,那为什么不直接在Activity里创建呢?这是因为Activity很难对Thread进行控制,当Activity被销毁之后,就没有任何其它的办法可以再重新获取到之前创建的子线程的实例。而且在一个Activity中创建的子线程,另一个Activity无法对其进行操作。但是Service就不同了,所有的Activity都可以与Service进行关联,然后可以很方便地操作其中的方法,即使Activity被销毁了,之后只要重新与Service建立关联,就又能够获取到原有的Service中Binder的实例。因此,使用Service来处理后台任务,Activity就可以放心地finish,完全不需要担心无法对后台任务进行控制的情况。
深入了解Service参考:http://blog.csdn.net/guolin_blog/article/details/9797169

转载于:https://www.cnblogs.com/feng-ye/p/5830827.html

Android Service与Thread的区别相关推荐

  1. Android复习10【Service与Thread的区别、Service的生命周期、Service生命周期解析(相关方法详解、启动方式的不同、绑定)、音乐播放器+服务】

    音乐播放器Android代码下载:https://wws.lanzous.com/ifqzihaxvij 目   录 Service与Thread的区别 Service的生命周期 Service生命周 ...

  2. Service 与 Thread 的区别

    Service 与 Thread 的区别 很多时候,你可能会问,为什么要用 Service,而不用 Thread 呢,因为用 Thread 是很方便的,比起 Service 也方便多了,下面我详细的来 ...

  3. 知识点干货--聊一聊Android中Service与Thread的区别

    古语说得好:"一寸光阴一寸金,寸金难买寸光阴."一寸光阴和一寸长的黄金一样昂贵,而一寸长的黄金却难以买到一寸光阴.比喻时间十分宝贵.此语句出自唐朝王贞白的<白鹿洞二首> ...

  4. service和thread的区别,何时用service,何时用thread?

    按服务性质分local service和remote service 当它运行的时候如果是Local Service,那么对应的 Service是运行在主进程的 main 线程上的.如:onCreat ...

  5. android Service中Thread.sleep不精确

    平台 RK3288 + Android 7.1 问题 在测试Thread.sleep过程中发现, 当App进入后台后, 服务中的Thread.sleep会有不同程度的精确度丢失. 测试sleep 2m ...

  6. Android Service 全解析

    Service的种类    按运行地点分类: 类别 区别 优点 缺点 应用 本地服务(Local) 该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Loca ...

  7. 既然android service是运行在主线程中的,那service还有什么用?

    既然android service是运行在主线程中的,那service还有什么用? 对于Android,每一个进程都有一个主线程,四大组件的处理任务都是在这个线程中进行的.每个线程都有一个Messag ...

  8. Android开发笔记之:Handler Runnable与Thread的区别详解

    From:http://www.jb51.net/article/37465.htm 本篇文章是对在Android中Handler Runnable与Thread的区别进行了详细的分析介绍,需要的朋友 ...

  9. Android 轮询最佳实践 Service + AlarmManager+Thread

    为什么80%的码农都做不了架构师?>>>    android中涉及到将服务器中数据变化信息通知用户一般有两种办法,推送和轮询. 消息推送是服务端主动发消息给客户端,因为第一时间知道 ...

最新文章

  1. 腾讯联姻开心网意欲何为
  2. java和python的web自动化有什么区别-Python和Java哪个更适合做自动化测试?
  3. 对代码生成器的一点想法
  4. windows server 2012 FTP 服务器 / 创建服务器
  5. linux 页面内容输出,Node.js 一个简单的页面输出
  6. 一文了解树在前端中的应用,掌握数据结构中树的生命线
  7. Chapter7-10_Deep Learning for Question Answering (1/2)
  8. js jq 一些属性
  9. JavaScript笔记整理
  10. mac+免密登陆+linux,mac ssh免密登录Linux
  11. 彩超中ri是什么意思_胎儿b超ri是什么意思
  12. 多线程编程(4) - 从 CreateThread 说起[续二]
  13. IDEA 格式化代码快捷键冲突解决
  14. Echarts使用之-散点图(各国人均寿命与GDP关系演变)
  15. 计算机教师中级职称个人总结,职称个人总结
  16. excel小写转大写公式_知乎高赞回答:Excel从入门到精通,看这一篇就够了!
  17. 韩顺平Linux教程学习笔记
  18. Vue项目中用百度地图实现城市定位
  19. python request.get
  20. java 为什么要get,set方法

热门文章

  1. 用户'sa'登录失败(错误18456)解决方案图解
  2. Merge k Sorted Lists leetcode java
  3. Android系统兼容性问题(持续更新)
  4. ruby on rails 之图片压缩
  5. [转]Effective C#原则4:用条件属性而不是#if
  6. python画版图_基于mask-RCNN的版图分析,MaskRCNN,版面
  7. 计算机界面横向拉宽了怎样还原,电脑屏幕变大变小了如何还原
  8. java stringbuffer数组_Java中字符数组、String类、StringBuffer三者之间相互转换
  9. java hexits,[Java]浅谈Java的异常体系
  10. python列表注解