小谈Service

  1. 两种启动方式:
    1.1 startService()

    • 执行顺序:startService() -> onCreate() -> onStartCommand() -> stopService() -> onDestroy()
    • 其中 startService()stopService() 方法是在外部调用,而 onCreate() 、 onStartCommand() 、 onDestroy() 方法是 service 自己的生命周期方法;
    • 注意点:
      • 如果一个 Service 被 startService() 多次启动,那么它的 onCreate() 方法也只会被调用一次,而 onStartCommand() 调用的次数 等于 startService() 方法执行的次数;
      • 如果一个 Service 被 startService()bindService(),那么在没有被 unbindService() 时,直接 stopService() 是无法停止服务的;

    1.2 bindService()

    • 执行顺序:bindService() -> onCreate() -> onBind() -> unbindService() -> onUnbind() -> onDestroy()
    • 其中 bindService()unbindService() 方法是在外部调用,而 onCreate() 、 onBind() 、 onUnbind() 、 onDestroy() 方法是 service 自己的生命周期方法;

你可能感兴趣的:(小谈Service)