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

Service的两种启动方式onstartService和onbindService区别

2016-07-29 17:16 537 查看
我们都知道,Service启动有两种方法,一种是onbindService(绑定),一种是onstartService(启动),那这两者究竟有什么不同呢?

闲话:今天是我第一次写博客,第一次就这样献给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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息