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

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)

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