Service以及AIDL学习

来源:互联网 发布:淘宝外卖订餐网 编辑:程序博客网 时间:2024/06/07 05:39

参考:

http://blog.csdn.net/guolin_blog/article/details/11952435

http://blog.csdn.net/guolin_blog/article/details/9797169


1. 有个很有意思的现象,终于明白为什么Service是在后台运行的了,不是因为Service可以代替Thread,而是因为当我通过后台杀死应用时,发现Service竟然是没有被Kill掉的,Service的OnCreate方法不会再次被执行,但是Activity的OnCreate会再次被调用,这就说明通过操作系统的杀死应用时,其实退出的只是UI,但是Service并没有被Kill掉,这个就可以保证Service长期在后台运行

2. 一个Service类只有一个实例在运行,无论是通过startService或者bindService方法去调用。如果已经有Service实例在运行,那么分别会回调onStartCommand或onBind方法。startService调用只能通过stopService才能停止,bindService只有通过unbindService才能停止。如果一个service同时通过这两种启动方法启动,则必须分别通过两种结束方式才能停止该Service

3. 由于Service也是一个组件,所以只能通过Intent进行调用。只有通过onBind方法启动的Service才能建立Binder建立通信,否则无法通过引用直接通信


代码:https://github.com/lihei12345/ServiceTest

0 0
原创粉丝点击