Android四大组件:Service史上最全面解析
来源:互联网 发布:微软最小的windows系统 编辑:程序博客网 时间:2024/05/19 22:56
前言
- Service作为Android四大组件之一,应用非常广泛
- 本文将介绍对Service进行全面介绍(基础认识、生命周期、使用和应用场景)
目录
1. 基础知识
- 定义:服务,属于Android中的计算型组件
- 作用:提供需要在后台长期运行的服务(如复杂计算、下载等等)
- 特点:长生命周期的、没有用户界面、在后台运行
2. 生命周期方法详解
具体请看我写的文章:Android:Service生命周期最全面解析
3. Service分类
3.1 Service的类型
3.2 详细介绍
4. Service的使用解析
由上述可知,服务Service总共分为:
接下来,我将介绍每种Service的具体使用,具体请看我写的文章:Android:(本地、可通信的、前台、远程)Service使用全面介绍
5. 使用场景
- 通过上述描述,你应该对Service类型及其使用非常了解;
- 那么,我们该什么时候用哪种类型的Service呢?
- 各种Service的使用场景请看下图:
6. 其他思考
6.1 Service和Thread的区别
- 结论:Service和Thread之间没有任何关系
之所以有不少人会把它们联系起来,主要因为Service的后台概念
后台的定义:后台任务运行完全不依赖UI,即使Activity被销毁,或者程序被关闭,只要进程还在,后台任务就可以继续运行
其实二者存在较大的区别,如下图:
一般来说,会将Service和Thread联合着用,即在Service中再创建一个子线程(工作线程)去处理耗时操作逻辑,如下代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
7 Service生命周期最全面解析
目录
1. 生命周期常用方法
在Service的生命周期里,常用的有:
- 4个手动调用的方法
- 5个内部自动调用的方法
2. 生命周期方法具体介绍
主要介绍内部调用方法和外部调用方法的关系。2.1 startService()
- 作用:启动Service服务
- 手动调用startService()后,自动调用内部方法:onCreate()、onStartCommand()
- 调用逻辑如下:
2.2 stopService()
- 作用:关闭Service服务
- 手动调用stopService()后,自动调用内部方法:onDestory()
- 调用的逻辑:
2.3 bindService()
- 作用:绑定Service服务
- 手动调用bindService()后,自动调用内部方法:onCreate()、onBind()
- 调用的逻辑:
2.4 unbindService()
- 作用:解绑Service服务
- 手动调用unbindService()后,自动调用内部方法:onCreate()、onBind()、onDestory()
- 调用的逻辑:
3. 常见的生命周期使用
3.1 只使用startService启动服务的生命周期
3.2 只使用BindService绑定服务的生命周期
3.3 同时使用startService()启动服务、BindService()绑定服务的生命周期
3.4 特别注意
- startService()和stopService()只能开启和关闭Service,无法操作Service;
bindService()和unbindService()可以操作Service
- startService开启的Service,调用者退出后Service仍然存在;
BindService开启的Service,调用者退出后,Service随着调用者销毁。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
0 0
- Android四大组件:Service史上最全面解析
- Android四大组件:Service史上最全面解析
- android四大组件-service全面解析一
- Android四大组件:Service服务史上最全面解析
- Android四大组件:BroadcastReceiver史上最全面解析
- Android四大组件:BroadcastReceiver史上最全面解析
- Android四大组件之Service全面学习
- Android四大组件之一---BroadcastReceiver全面解析
- Android 四大组件之Service解析
- Android四大组件之Service解析
- Android四大组件----Service
- Android四大组件---Service
- android四大组件service
- android四大组件---service
- android四大组件---Service
- Android四大组件-Service
- Android四大组件:Service
- (Android四大组件)---Service
- Burp suite基本使用(一)
- java基础第一章_运算符_算数运算符
- Longest Symmetric String (25) 与Manacher算法
- Html5 Worker
- 计算机网络错题(2)
- Android四大组件:Service史上最全面解析
- 百万数据秒级处理
- 存储过程
- Java SPI 机制实现解耦与本地化
- hdu1864——01背包变形
- Spring MVC 教程,快速入门,深入分析
- Spring整合web项目原理
- js重点
- 各种距离