android之service的startService和bindService的区别

来源:互联网 发布:c语言入门网站 编辑:程序博客网 时间:2024/04/29 09:54

1,通过startService开启的服务,一旦服务开启,这个服务和开启他的调用者之间就没有任何联系了,调用者不可以访问service里面的方法,调用者如果被系统回收了或者调用了onDestory方法,service还会继续存在。(比如后台下载数据,虽然在我前面的文章讲过,手机其实会把这些孤独留下来的服务杀掉,除非这个应用已经加入了手机清理白名单)

2,通过bindService开启的服务,服务开启之后,调用者和服务对象之间还存在着联系,一旦调用者挂掉了,service也会跟着挂掉。

(以下两条是我总结的,前俩条是来自其他博客)另外关于服务的一篇好文章参考:http://blog.csdn.net/klx502/article/details/44624133


3,由bindService开启的服务,在“正在运行”的服务里,查看不到服务进程,但是由startService开启的服务可以在“正在运行”里查看到服务,


4,同时使用bindService和startService的应用,当然可以在“正在运行”的列表里查看到后台服务,然后点击“停止”服务,服务就会在列表里消失,但是服务仍然在运行,因此猜测,点击停止是取消了服务的StartService所给予的属性,但是由于服务没有使用unbindService来解除,所以服务没有被停止。

0 0
原创粉丝点击