多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 一些 Servie 的特点 1. 是 Android 的四大组件之一,需要在 Manifest 文件注册,主要的作用是在长时间后台执行一些操作 2. 运行在主线程,Service 并不是一个子线程,不能做耗时操作,耗时操作使用 IntentService 3. 运行在主进程中,如果在 Manifest 文件中指定 process 属性可开启多进程。 4. 启动方式 startService 和 bindService 5. 系统只会创建一个 Service 实例,不管启动和绑定了多少次 ## Service 生命周期 ![](https://markdown-1258186581.cos.ap-shanghai.myqcloud.com/20190608185506.png) ## Service 的启动方式 ### 1、非 `bind` 方式启动 startService stopService 1. onCreate 只执行一次 2. onStartCommand ,启动一次执行一次 3. onDestory ### 2、`bind` 方式启动 bindService onUnBindService 1. onCreate 只执行一次 2. onBind 3. onUnBind 4. onDestory [官方地址](https://developer.android.com/guide/components/services#Lifecycle) ![](https://developer.android.com/images/service_lifecycle.png) [参考链接 1、](https://www.cnblogs.com/huihuizhang/p/7623760.html) ## 既绑定又开启服务 ### 先绑定服务后启动服务 绑定服务将会转为运行服务的状态,如果这个时候绑定 和 启动 服务的 Activity 销毁了,也不会影响服务的运行,会在收到停止服务的指令以后才会停止服务 ### 先启动服务后绑定服务 并不会转为绑定状态。也只有运行 stopService 以后才会停止服务运行。