目录
Service简介
1.Service作用
后台长期处理耗时的逻辑
Service不存在UI界面,Service在后台运行,不能与用户进行交互功能
2.Service特点
- 后台运行,应用退出也不停止服务,杀死APP进程才停止服务
- 运行在主线程(UI线程),执行耗时操作需要创建子线程并放入
- 一般音乐播放,下载文件这种就是耗时操作
- 如下图:退出应用但是没杀死进程,就会被Service挂在后台
3.两种启动方式的生命周期
官网原图
中文直译
手动调用startService(Intent) 来启动服务,系统自动调用onCreate()创建服务
->onStartcomman()开启服务->Service运行中;手动调用stopSelf(Intent)或stopService(Intent)结束服务->自动执行onDestroy()销毁服务
手动调用bindService()来启动服务,系统自动调用onCreate()创建服务->自动调用onBind()绑定服务->Service处于运行状态;手动调用unbindService(Intent)->自动调用onUnbind()解绑->自动调用onDestroy()销毁服务
4.Service相关内部类
- 服务类继承Service,onBind()传入需要返回一个IBinder,新建内部类实现Binder接口
- 绑定需要ServicewConnection,在界面类新建一个内部类实现ServiceConnection接口