* 用start的方式启动服务 service在主线程执行
* onCreate -> onStartCommand -> onDestroy
* 用bind的方式启动服务
* onCreate -> onBind -> onUnbind -> onDestroy
值得一提的是 service 是执行在主线程的。
startService和bindService是可以同时执行的,如果在bindService里面flags参数没有设置成BIND_AUTO_CREATE的时候是不会启动Service的。如果bindService的flags没有设置成BIND_AUTO_CREATE,先调用bind Service不会启动,然后调用startService,onBind生命周期会执行一次。
又关于Service的通讯,下发命令用的是startService,但是接受命令可以使用广播的方式在需要的时候把参数传递出来。
网友评论