关于service的生命周期

2020-06-15  本文已影响0人  我爱爬爬虾

* 用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,但是接受命令可以使用广播的方式在需要的时候把参数传递出来。

上一篇下一篇

猜你喜欢

热点阅读