android四大组件之一Service的startService()与bindService()区别?
2013-03-18 10:22
495 查看
Service的startService()与bindService()区别?
答:使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。
startService()一般用于本地服务调用。
bindService()一般用于远程服务调用。
Android 中的Service使用了onBind 的方法去绑定服务,返回一个Ibinder对象进行操作,而我们要获取具体的Service方法的内容的时候,我们需要Ibinder对象返回具体的Service对象才能操作,所以说具体的Service对象必须首先实现Binder对象,这个样子的话我们才能利用bindService的方法对Service进行绑定,获取Binder对象之后获取具体的Service对象,然后才获取Service中的方法等等。所以我们需要注意的是bindService的方式去绑定服务获取的必定是实现了Binder的对象,所以这是我们必须使用Binder的方式去获取Service的方式而不是直接使用Service的类,这个是Android内部实现所约束的。
BindService()中可以获取Binder对象之后获取具体的Service对象,调用Service中的方法。
文章参考(http://www.cnblogs.com/androidme/archive/2012/03/13/2393670.html)
答:使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。
startService()一般用于本地服务调用。
bindService()一般用于远程服务调用。
Android 中的Service使用了onBind 的方法去绑定服务,返回一个Ibinder对象进行操作,而我们要获取具体的Service方法的内容的时候,我们需要Ibinder对象返回具体的Service对象才能操作,所以说具体的Service对象必须首先实现Binder对象,这个样子的话我们才能利用bindService的方法对Service进行绑定,获取Binder对象之后获取具体的Service对象,然后才获取Service中的方法等等。所以我们需要注意的是bindService的方式去绑定服务获取的必定是实现了Binder的对象,所以这是我们必须使用Binder的方式去获取Service的方式而不是直接使用Service的类,这个是Android内部实现所约束的。
BindService()中可以获取Binder对象之后获取具体的Service对象,调用Service中的方法。
文章参考(http://www.cnblogs.com/androidme/archive/2012/03/13/2393670.html)
相关文章推荐
- 【Android四大组件之Service】(二)Android中Service的使用详解和注意点(LocalService),及startService与bindService的区别
- 【Android四大组件之Service】(三)Service中startService与bindService的区别
- [AndroidTips]startService与bindService的区别
- Android入门-Service-start,end,bind,unbind之间的区别
- [AndroidTips]startService与bindService的区别
- Android四大组件Service之bindService启动
- android开发步步为营之36:四大组件之Service(中)通过bindService启动
- 源码分析Android bindService与startService区别
- Android组件之Service之startService、bindService
- android之startService和bindService方法的区别
- Android学习札记三:初涉Service(1)之Context.startService()与Context.bindService()区别(转)
- Android之startService与bindService的区别
- Android 组件Service(一)之startService()、bindService()
- Android startservice & bindservice的区别
- Android笔记-service启动过程分析:bindService源码分析、startService和bindService区别
- Android startService和bindService的区别
- Android入门-Service-start,end,bind,unbind之间的区别
- android之service的startService和bindService的区别
- 四大组件之Service(一)-双子座的Service-Start Service与Bind Service
- Android:Context.startService/Context.bindService的区别