Android Service的两种启动方式
2016-08-06 17:31
423 查看
1.使用startService启动Service
启动过程为:
实例化一个Service对象,并依次调用Service的onCreate()方法和onStartCommand()(它会调用Service的onStart()方法)方法
若再调用startService启动该服务,系统不会再创建新的Service实例,而是复用之前的实例对象,并调用Service的onStart()方法
停止服务使用stopService()方法,此时Service会调用其onDestroy()方法,销毁服务
不管调用多少次startService()方法,只需一次stopService()即可停止服务
2.使用bindService启动Service
启动过程为:
实例化一个Service对象,并依次调用Service的onCreate()方法和onBind()方法
若再次调用bindService()方法绑定该服务,不会新建Service对象,也不会再调用onBind()方法
解除绑定使用unbindService()方法,此时Service的onUnbind()方法和onDestroy()方法被依次调用
3.两个启动方法的区别
使用startService启动的服务,不管调用者的生命周期是否结束,只要调用者没有使用stopService(),则服务一直运行
使用bindService启动的服务,该Service与调用者同死,即一旦调用者被销毁,则服务立即终止
启动过程为:
实例化一个Service对象,并依次调用Service的onCreate()方法和onStartCommand()(它会调用Service的onStart()方法)方法
若再调用startService启动该服务,系统不会再创建新的Service实例,而是复用之前的实例对象,并调用Service的onStart()方法
停止服务使用stopService()方法,此时Service会调用其onDestroy()方法,销毁服务
不管调用多少次startService()方法,只需一次stopService()即可停止服务
2.使用bindService启动Service
启动过程为:
实例化一个Service对象,并依次调用Service的onCreate()方法和onBind()方法
若再次调用bindService()方法绑定该服务,不会新建Service对象,也不会再调用onBind()方法
解除绑定使用unbindService()方法,此时Service的onUnbind()方法和onDestroy()方法被依次调用
3.两个启动方法的区别
使用startService启动的服务,不管调用者的生命周期是否结束,只要调用者没有使用stopService(),则服务一直运行
使用bindService启动的服务,该Service与调用者同死,即一旦调用者被销毁,则服务立即终止
相关文章推荐
- android 启动service的两种方式有什么不同
- Android Service两种启动方式
- Android Service两种启动方式
- Android Service两种启动方式
- Android Service 两种启动方式的区别
- Android Service 两种启动方式的区别
- Android 启动 Service(startservice和bindservice) 两种方式的区别
- Android Service两种启动方式详解(总结版)
- Android中,关于service的启动两种方式描述不正确的是
- android service的两种启动方式
- Android Service 两种启动方式
- Android Service两种启动启动方式 及 adndroid service生命周期
- Android 启动 Service(startservice和bindservice) 两种方式的区别
- Android Service两种启动方式及 生命周期
- Android Service两种启动启动方式 及 adndroid service生命周期
- Android Service的两种启动方式
- Android Service 两种启动方式的区别
- Android Service两种启动方式
- 【Android】- Android Service的两种启动方式
- Android Service的两种启动方式