2011.09.01(3)——— android service startService bindService

参考:http://blog.csdn.net/huanyufeng/article/details/5873407
http://www.cnblogs.com/allin/archive/2010/05/15/1736458.html

1 通过startService
使用context.startService() 启动Service是会会经历:
context.startService()  ->onCreate()- >onStart()->Service runningcontext.stopService() ->onDestroy() ->Service stop


如果是调用者自己直接退出而没有调用stopService的
话,Service会一直在后台运行。
下次调用者再起来可以stopService或者stopSelf来停止service。

2 通过bindService
context.bindService()->onCreate()->onBind()->Service runningonUnbind() -> onDestroy() ->Service stop


这个时候 调用者和TestService绑定在一起

调用者 退出了,Srevice就会调用停止
所谓绑定在一起就共存亡了。



在Service每一次的开启关闭过程中,只有onStart可被多次调用(通过多次startService调用),其他onCreate,onBind,onUnbind,onDestory在一个生命周期中只能被调用一次


要是这几个方法交织在一起的话,会出现什么情况呢?

一个原则是Service的onCreate的方法只会被调用一次,就是你无论多少次的startService又 bindService,Service只被创建一次。如果先是bind了,那么start的时候就直接运行Service的onStart方法,如果先 是start,那么bind的时候就直接运行onBind方法。如果你先bind上了,就stop不掉了,对啊,就是stopService不好使了,只 能先UnbindService, 再StopService,所以是先start还是先bind行为是有区别的。


09-02 08:19:29.034: INFO/System.out(7713): Test109-02 08:19:29.074: INFO/System.out(7713): onCreate09-02 08:19:29.083: INFO/System.out(7713): onBind09-02 08:19:29.183: INFO/System.out(7713): service connect09-02 08:19:42.373: INFO/System.out(7713): Test209-02 08:19:42.464: INFO/System.out(7713): service connect


由此可以看出来 一个service可以绑定多个activity,并且ServiceConnection也执行了多次

例子当中 有两个测试

1、MainActivity 测试onStart onBind
2、MainActivity为base 测试是否可以绑定多个activity




更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. 【Android动态布局】之【使用addView方法时,如何保持已有动态控件
  5. Android禁止锁屏,保持常亮方法
  6. Intent常用Uri,打开相应的应用
  7. Android之service探究
  8. android:ClassNotFoundException for Activity class的解决方法
  9. 2011.09.01(3)——— android service startService bindService

随机推荐

  1. 管理Android通信录
  2. android添加后门的一种方法
  3. 关于android instrumentation的理解、使
  4. Android(安卓)对话框(Dialog)大全
  5. TextView 限制最大行数、最小行数、字数
  6. Android四种Activity的加载模式
  7. cocos2d-x 1.0.1 for Android(安卓)使用B
  8. 面试准备(待整理、未完待续。。)
  9. EditText所有属性详解
  10. Android开机广播和关机广播