最近有位朋友问我,Android中Service和Thread有什么区别,为什么有时候放着方便的Thread不用,而要使用Service呢?
要解答这个问题,首先我们要弄明白Service和Thread分别是怎么定义的:

  • Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。
  • Service是Android的四大组件之一,被用来执行长时间的后台任务。默认情况下Service是运行在主线程中的。

二者的使用上的区别

1.在Android中,Thread只是一个用来执行后台任务的工具类,它可以在Activity中被创建,也可以在Service中被创建。

2.Service组件主要有两个作用:后台运行和跨进程访问。service可以在android系统后台独立运行,线程是不可以。

3.Service类是可以供其他应用程序来调用这个Service的而Thread只是在本类中在使用,如果本类关闭那么这个thread也就下岗了而Service类则不会。

4.如果需要执行复杂耗时的操作,必须在Service中再创建一个Thread来执行任务。Service的优先级高于后台挂起的Activity,当然也高于Activity所创建的Thread,因此,系统可能在内存不足的时候优先杀死后台的Activity或者Thread,而不会轻易杀死Service组件,即使被迫杀死Service,也会在资源可用时重启被杀死的Service。

更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. android 使用html5作布局文件: webview跟javascript交互
  6. android实现字体闪烁动画的方法
  7. Android(安卓)Resource介绍和使用
  8. "Failed to fetch URL https://dl-ssl.google.com/android/repos
  9. 使用NetBeans搭建Android开发环境

随机推荐

  1. Android之Android(安卓)N 上的notificati
  2. GitHub 优秀的 Android(安卓)开源项目 淘
  3. Android开发之dagger.android--Activity
  4. 一些非常实用的 Android(安卓)开发资源
  5. flutter包名、应用名称、图标、启动图片
  6. Android(安卓)API 中文(13) ―― ToggleBut
  7. android UI进阶之弹窗的使用(2)--实现通讯
  8. android移动补间动画
  9. Android启动各种系统服务线程
  10. Android(安卓)Service生命周期及用法!