您的位置:首页 > 移动开发 > Android开发

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与调用者同死,即一旦调用者被销毁,则服务立即终止
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息