前言

  • Service作为Android四大组件之一,应用非常广泛
  • 本文将介绍对Service进行全面介绍(基础认识、生命周期、使用和应用场景)

目录

目录

1. 基础知识

  • 定义:服务,属于Android中的计算型组件
  • 作用:提供需要在后台长期运行的服务(如复杂计算、下载等等)
  • 特点:长生命周期的、没有用户界面、在后台运行

2. 生命周期方法详解

具体请看我写的文章:Android:Service生命周期最全面解析


3. Service分类

3.1 Service的类型

分类

3.2 详细介绍

Service类型的详细介绍

4. Service的使用解析

由上述可知,服务Service总共分为:

分类

接下来,我将介绍每种Service的具体使用,具体请看我写的文章:Android:(本地、可通信的、前台、远程)Service使用全面介绍

5. 使用场景

  • 通过上述描述,你应该对Service类型及其使用非常了解;
  • 那么,我们该什么时候用哪种类型的Service呢?
  • 各种Service的使用场景请看下图:

    使用场景

6. 其他思考

6.1 Service和Thread的区别

  • 结论:Service和Thread之间没有任何关系
  • 之所以有不少人会把它们联系起来,主要因为Service的后台概念

    后台的定义:后台任务运行完全不依赖UI,即使Activity被销毁,或者程序被关闭,只要进程还在,后台任务就可以继续运行

  • 其实二者存在较大的区别,如下图:

    Paste_Image.png

一般来说,会将Service和Thread联合着用,即在Service中再创建一个子线程(工作线程)去处理耗时操作逻辑,如下代码:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//新建工作线程
new Thread(new Runnable() {
@Override
public void run() {
// 开始执行后台任务
}
}).start();
return super.onStartCommand(intent, flags, startId);
} class MyBinder extends Binder {
public void service_connect_Activity() {
//新建工作线程
new Thread(new Runnable() {
@Override
public void run() {
// 执行具体的下载任务
}
}).start();
} }

最新文章

  1. ZOJ Problem Set - 1331 Perfect Cubes 判断一个double是否为整数
  2. 对象排序,compareTo
  3. CSS 子选择器(六)
  4. Web前段优化,提高加载速度 css
  5. 设置HTTP header方式
  6. 【补】【FZU月赛】【20150515】【待续】
  7. MongoDB笔记(三)启动命令mongod的参数
  8. vb的LINQ实现
  9. time date 基础操作
  10. URAL 1036(dp+高精度)
  11. WPF学习(7)命令
  12. typeof与instanceof的区别
  13. https://doc.opensuse.org/projects/kiwi/doc/
  14. Python爬虫8-ajax爬取豆瓣影榜
  15. Python获取网络中的存活主机以及哪些主机是Linux
  16. API网关模式
  17. 工具提高效率 - iterm2
  18. nginx访问502 gateway,*1 connect() failed (111: Connection refused) while connecting to upstream
  19. [转] Spring4.3.x 浅析xml配置的解析过程(6)——解析context命名空间之property-placeholder和property-override标签
  20. 【Java集合的详细研究8】List,Set,Map用法以及区别

热门文章

  1. js匿名函数运行的方法
  2. 【机器学习算法基础+实战系列】KNN算法
  3. 翻译 | 卷积码的维特比(Viterbi)译码
  4. 笔记-scrapy-Request/Response
  5. MyBatis---简单增删改查的带事物的例子
  6. Centos 7.X 安装JDK1.8
  7. Fiddler - 使用教程
  8. USACO Section1.3 Wormholes 解题报告
  9. Windows Phone 8.1 学习之路
  10. 【Substring with Concatenation of All Words】cpp