1.Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如果是RemoteService,那么对应的 Service 则是运行在独立进程的 main 线程上service和调用者之间的通讯都是同步的(不论是远程service还是本地service),它跟线程一点关系都没有!

2.Thread 的运行是独立于 Activity 的,也就是说当一个 Activity 被 finish 之后,如果你没有主动停止 Thread或者 Thread 里的run 方法没有执行完毕的话,Thread也会一直执行。因此这里会出现一个问题:当 Activity 被 finish 之后,你不再持有该 Thread 的引用,也就是你下次启动的时候,无法控制之前创建的线程,而service则可以。另一方面,你没有办法在不同的 Activity 中对同一 Thread 进行控制。

3.可以在 Service 里注册 BroadcastReceiver,在其他地方通过发送 broadcast 来控制它,这些是 Thread 做不到的。

更多相关文章

  1. android HandlerThread使用小例
  2. Android中消息处理机制-Handler剖析
  3. AsyncTask学习笔记
  4. onDraw调用和android中Invalidate和postInvalidate的区别
  5. Android(安卓)JSON使用(二):解读org.json包
  6. 拨云见日---android异步消息机制源码分析(二)
  7. Android(安卓)ANR原因分析(基于traces.txt文件),
  8. Android(安卓)音视频学习系列(一) JNI 从入门到精通
  9. Android进阶之AIDL的使用详解

随机推荐

  1. Intellij Idea12 旗舰版 安卓(Android)
  2. Android(安卓)更新UI的两种方法——handl
  3. 【Android】新浪微博开放平台V2开发入门
  4. 小记 ScrollView 隐藏 里面空间填充后再
  5. Android(安卓)3.1 r1 API中文文档(6)——Im
  6. PreferenceActivity 参数设置UI的使用
  7. Building Custom Components/建立自定义
  8. Android学习笔记--service部分
  9. WebView的使用,android与JS混编
  10. 修改checkbox框颜色