Service的两种启动方式onstartService和onbindService区别
2016-07-29 17:16
537 查看
我们都知道,Service启动有两种方法,一种是onbindService(绑定),一种是onstartService(启动),那这两者究竟有什么不同呢?
下面就不贴代码了,一小丢丢思路,让新手明白这两者的区别。
1:onstartService只是启动Service,调用者和服务是没有关联的,即使调用者退出了,服务依然在后台运行,而onbindService是将调用者与服务绑定,一旦调用者退出,服务也跟着退出。
2:生命周期不同
onstartService生命周期:
onCreate()->onStartCommand()->startService()->onDestroy()
onbindService生命周期:
onCreate()->onBind()->onUnbind()->onDestroy()
举一个简单的例子,最常用的Service就是音乐播放,如果你要startService的话,应用退出了,音乐还在播放。用bindService的话,程序退出了,音乐也就停了,是不是很容易理解呢!!
如果觉得不够详细,可以参考下面一篇博客Service的使用,还有一个音乐播放服务的实例,可以复制到自己电脑上试一试!
http://blog.csdn.net/amheaven1121/article/details/7371064
闲话:今天是我第一次写博客,第一次就这样献给csdn了,我不是大神,只是一个刚工作的实习生,写博客只是为了分享我以前遇到的问题和提高自己, 以后我会保持每周最少一更,帮助更多新手解决难题,毕竟编程的最大的乐趣是创造价值。
下面就不贴代码了,一小丢丢思路,让新手明白这两者的区别。
1:onstartService只是启动Service,调用者和服务是没有关联的,即使调用者退出了,服务依然在后台运行,而onbindService是将调用者与服务绑定,一旦调用者退出,服务也跟着退出。
2:生命周期不同
onstartService生命周期:
onCreate()->onStartCommand()->startService()->onDestroy()
onbindService生命周期:
onCreate()->onBind()->onUnbind()->onDestroy()
举一个简单的例子,最常用的Service就是音乐播放,如果你要startService的话,应用退出了,音乐还在播放。用bindService的话,程序退出了,音乐也就停了,是不是很容易理解呢!!
如果觉得不够详细,可以参考下面一篇博客Service的使用,还有一个音乐播放服务的实例,可以复制到自己电脑上试一试!
http://blog.csdn.net/amheaven1121/article/details/7371064
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析