前言
实践是最好的学习方式,技术也如此。
文章目录
一、简介
- Service 翻译过来:服务;
- 是一种运行时用户不可见的活动机制。可以理解为是一个没有布局的
Activity
; - 典型应用场景
- 音乐后台播放(此处的后台强调的是用户可见和不可见性)、音乐后台下载;
- 注意
- 后台运行我们常常联想到的是子线程中运行 , 这里的后台强调的是用户可见和不可见,是处于线程上级的一种概念,与 Activity 是一个层级的;Service 和 Activity 中可以有线程;
- 但是,Service 不同与子线程,Service 是运行在主线程中的,因此不能进行耗时操作,Service 和 Activity 一样,都是在主线程中运行的,因此不能进行耗时操作;
- Service 和 Activity 可以看作是整个车间;两者里面都可以有线程,线程可以看作是车间的流水线;
二、Service 的创建
-
1)继承系统的Service类新建一个自己的Service,例如 MyService
-
2)重写其中的几个重要的方法:onCreate、onBind、onStartCommand
-
3)在Mainfest文件中注册这个Service(与 Activity 一样,每个 Activity 都需要在 Mainfest 注册)
- <service
- 安卓四大组件的共同点:都需要在 mainfest 文件中进行注册
-
4)启动 Service
- 与 Activity 类似,也是通过 Intent;
-
总结步骤
- 继承系统的
Service
类新建一个自己的Service
,例如MyService
; - 重写其中的几个重要的方法:
onCreate
、onBind
、onStartCommand
; - 在
Mainfest
文件中注册这个Service
; - 启动方式与启动
Activity
一样,通过Intent
;
- 继承系统的