startservice和bindservice的区别
来源:互联网 发布:淘宝比较好的男装店 编辑:程序博客网 时间:2024/05/29 03:22
之前的笔记,放上来做个记录。不当之处请大家指教!谢谢~
这两个方法都能启动服务,两者的使用场合不同
使用StartService()这个方法启动服务,调用者与服务之间没有关联,即使调用者退出后,服务仍然运行。
使用bindservice()启动服务,调用者与服务绑定在一起,调用者一旦退出了,服务也就终止了,有“不求同生,必须同死”的特点。
===============================
用StartService()启动服务是,服务尚未创建时,系统会先去调用服务的onCreate()方法,在调用onStart()方法。假使服务已经被创建了,多次使用StartService()方法不会导致多次创建服务,但会导致多次创建onStart()方法。如果服务是用onStart()方法启动,那么只能用stopService()来停止服务。服务结束时会调用onDestroy()方法。
用bindService()方法启动服务,在服务尚未创建时,系统先调用服务的onCreate()方法,接着调用onBind()方法,这时候调用者和服务绑定在一起,调用者退出时,系统会调用onUnbind()方法,接着会调用onDestroy()方法。如果调用bindService()前服务已经绑定多次调用bindService()方法并不会导致多次创建服务及绑定(也就是onCreate()方法和onBind()方法并不会被多次调用)。如果调用者希望与正在绑定的服务接触绑定,可以调用unbindservice()方法。调用该方法也会导致系统调用服务的onUnbind()和onDestroy()方法。
===============================
混合使用bindService()和StartService()方法
Service的onCreate()方法只会被调用一次
如果先bind了,那么start的时候会直接运行Service的onStart()方法。
如果你先start了,那么bind就直接onBind()
如果你先bind上了,那就stop不了,要先Unbindservie,再stopService
- startService 和 bindService的区别
- startService 和 bindService的区别
- startservice和bindservice的区别
- startService和bindService的区别
- startService和bindService的区别
- startService和bindService的区别
- startService 和 bindService的区别
- startService和bindService区别
- startService和bindService区别
- bindService()和startService()区别
- startService()和bindService()区别
- startservice()和bindservice()区别
- startService()和bindService()区别
- startService和bindService区别
- startservice bindservice的区别
- Service的startService()和bindService()的区别
- Android中 startService()和bindService()的区别
- Android startService和bindService的区别
- ActiveXObject
- 重启ORACLE
- 互联网基本架构
- 连接到oracle10g,过段时间后自动断开,报ORA-03135错误
- quartz的触发器CronTriggerBean 配置
- startservice和bindservice的区别
- 看完这个你的位运算学得就差不多了
- 程序开发代码
- 三) 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7(或ndkr7b)+COCOS2DX(没有用到cygwin和minigw)
- C#反射(二)
- 32位系统下使用Windows 7 USB DVD Download Tool创建64位win7系统安装U盘
- soj - 1134 - 积木分发
- ios之旋转式移动按钮
- BIT1011 Maximum Sum II