(1)通过context的startService()启动service,系统会调用OnCreate()创建service实例,然后调用OnStartCommand()使service运行起来,任务执行完成后,通过stopSelf()或者context的stopService()结束service的运行,系统会调用OnDestroy()。如果Service实例已经创建了,每次调用startService(),系统都会调用OnStartCommand;如果调用者退出却没有调用stopService,service中也没有调用stopSelf(),Service会一直在后台运行。

(2)通过context的bindService(intent、serviceConnection、int)绑定一个service,如果service没有被创建的话,系统会调用OnCreate()创建service实例,activity和service绑定成功后,onBind(Ibinder ibinder)会返回binder对象传递到serviceConnection的onServiceConnected()的参数中,拿到service的binder对象,可以执行service中的方法。如果service实例已经存在,系统会只调用onBind()。任务执行完成后,调用者通过调用unBindService()解除和service的绑定,当和service绑定的所有调用者都解除绑定之后,系统会调用onUnBind(),之后会调用OnDestroy()销毁service实例。

参考链接:

http://www.cnblogs.com/mengdd/archive/2013/03/24/2979944.html

http://blog.csdn.net/agods/article/details/7468431


更多相关文章

  1. [Android]Fragment的应用/点击替换fragment应用实例
  2. Android音频录制MediaRecorder之简易的录音软件
  3. datetimepicker一个不错的日历android特效
  4. Android之DIalog的控制详解
  5. Android(安卓)Gallery3D源码分析(二)
  6. Mac及Android环境下的JNI学习
  7. Android(安卓)CursorLoader相关
  8. Android(安卓)arm linux 系统调用实现
  9. 分享一个 Android(安卓)全局获取 Context 的类(无需配置 Applicat

随机推荐

  1. android扁平化界面设计—在android中使用
  2. android EditText和输入法相关知识总结
  3. Android 判断是否有声音在播放
  4. Android学习:导入工程时报错The import an
  5. 13-4-1 Android中list和Adapter的使用
  6. android 的系统编译
  7. 近百android程序源码贡献 转载的自己看的
  8. android时间自动同步
  9. ImageView的属性
  10. android 音频framework的分析