您的位置:首页 > 其它

绑定服务的注意事项小结

2016-12-11 21:26 253 查看

绑定服务的生命周期

绑定的方式开启服务,如果服务不存在,先执行onCreate在执行onbind

服务的onstart和onstartcommand方法不会被执行

解除绑定服务,先执行onunbind在执行ondetroy

多次绑定服务,服务只会被创建一次,oncreate方法只会被执行一次

多次绑定服务,onBind方法不会被重复调用

在实际开发的时候,如果需要调用服务的方法,就绑定服务,只能绑定一次

服务只可以被解绑一次,如果用同一个conn对象多次解绑,服务和抛出异常

两种开启服务方式比较

start的方式开启服务器

服务一旦开启,长期后台运行,服务和开启者(Activity)没有任何的关系,开启者退出了,服务还是继续在后台长期运行,开启者(Activity)不可以调用服务里面的方法,在系统设置界面可以观察到

bind的方式开启服务

不求同时生,但求同时死,如果开启者(Activity)退出了,服务也会跟者挂掉,

开启者(Activity)可以间接的利用中间人调用服务里面的方法.在系统设置界面看不到的

服务如果被开启同时被绑定,服务就停不掉了.必须解除绑定才可以停止服务

混合调用服务的生命周期

为了保证服务又能长期后台运行,又能调用到服务里面的方法

采用混合的方式开启服务

按照步骤编写代码:

start的方式开启服务(保证服务长期后台运行)

bind的方式绑定服务(调用服务的方法)

unbind的方式解除绑定服务

stop的方式停止服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: