一、startService

1、通过调用startService启动服务的过程:

onCreate —》onStartCommand —》onStart

startService 仅用于启动服务,如果Activity需要与Service进行通信,需利用Broadcast。

2、而后,多次调用startService,服务会多次执行:

onStartCommand —》onStart

3、多次调用startService后,调用一次stopService即可结束服务。(若多次调用stopService,只有第一次有用)

4、调用stopService的服务结束过程:

—》onDestroy

另外,

Activity的启动过程:onCreate —》onStart —》onResume

Activity的退出过程:onPause —》onStop —》onDestroy

 

二、bindService

1、通过调用bindService启动服务的过程:

onCreate —》onBind  —》(onServiceConnected)

bindService 可用于启动服务,且能使Activity与Service进行通信。

2、多次调用bindService,服务本身未执行任何操作。

3、所以一次unBindService就能结束服务。(若多次调用unBindService,第一次有用,后面会出错)

4、调用unBindService的服务结束过程:

onUnbind —》onDestroy

三、先startService,后bindService

1、先调用startService,后调用bindService。服务的执行过程为:

onCreate —》onStartCommand —》onStart —》onBind  —》(onServiceConnected)

2、先unBindService,后stopService。服务结束的执行过程:

onUnbind —》onDestroy

需注意的是:unBindService会执行到onUnbind,stopService会执行到onDestroy。

3、先stopService,后unBindService。服务结束的执行过程:

onUnbind —》onDestroy

需注意的是:stopService不会执行任何操作,unBindService会执行到onUnbind—》onDestroy。

四、先bindService,后startService

1、先调用startService,后调用bindService。服务的执行过程为:

onCreate —》onBind  —》(onServiceConnected) —》onStartCommand —》onStart

2、先unBindService,后stopService。

服务执行的过程同 三。

3、先stopService,后unBindService。服务结束的执行过程:

服务执行的过程同 三。

更多相关文章

  1. 《第一行代码Android》学习总结第十章 Service实践——下载功能
  2. Android(安卓)MediaScannerService源码分析
  3. RxJava RxAndroid(安卓)在android中最重要的应用(一)
  4. [init.rc] android开机过程执行shell脚本
  5. Android学习七---Hello OpenCV samples
  6. Android(安卓)Suspend
  7. Android判断后台服务是否开启的两种方法实例详解
  8. Android(安卓)Ormlite 学习笔记1 -- 基础
  9. Android搭建客户端连接java构建的服务端

随机推荐

  1. 安卓复习.Part1
  2. android dialog中软键盘压盖输入框
  3. Android(安卓)Log原理分析
  4. Android(安卓)Davlik heap profiling
  5. Android一周时间早中晚排班表
  6. android中widgets开发入门(开发显示电源电
  7. android TextView 图文混排
  8. Android系统启动之配置文件解析
  9. 一个android个人开发者的总结
  10. Android(安卓)O Treble框架