小谈Service
2018-01-05 本文已影响8人
ChenME
-
两种启动方式:
1.1 startService()- 执行顺序:
startService() -> onCreate() -> onStartCommand() -> stopService() -> onDestroy()
; - 其中
startService()
和stopService()
方法是在外部调用,而onCreate() 、 onStartCommand() 、 onDestroy()
方法是 service 自己的生命周期方法; - 注意点:
- 如果一个 Service 被
startService()
多次启动,那么它的onCreate()
方法也只会被调用一次,而onStartCommand()
调用的次数 等于startService()
方法执行的次数; - 如果一个 Service 被
startService()
和bindService()
,那么在没有被unbindService()
时,直接stopService()
是无法停止服务的;
- 如果一个 Service 被
1.2 bindService()
- 执行顺序:
bindService() -> onCreate() -> onBind() -> unbindService() -> onUnbind() -> onDestroy()
; - 其中
bindService()
和unbindService()
方法是在外部调用,而onCreate() 、 onBind() 、 onUnbind() 、 onDestroy()
方法是 service 自己的生命周期方法;
- 执行顺序: