Service详解

生命周期

  • onStart弃用,但是还是会回调,在onStartCommand之后
  • 所有bind的client都unBind之后,回调onUnbind
  • 如果只有bind,那么所有bind的client都unBind之后,回调onUnbind和onDestroy
  • 如果有startService,那么所有bind的client都unBind之后也不会销毁Service,必须stopService才能销毁
  • 对于一个新创建的Service,onBind只会调用一次,因为下个client绑定的时候会默认发同一个binder,如果onUnbind返回false,那么onUnbind也只会回调一次
  • 对于一个新创建的Service,因为onBind只会调用一次,如果下次绑定时想在绑定阶段做一些事情,就覆写onUnbind并返回true,那么之后每次绑定都会回调onRebind,onRebind在返回ServiceConnection后回调,同时绑定的client都unBind后,还是回调onUnbind