
官放圖.jpeg
先解釋第一列
調(diào)用startService()
就會先后依次調(diào)用onCreate()和onStartCommand()(如果之前Service已經(jīng)創(chuàng)建成功了并且沒有被銷毀,就會只調(diào)用onStartCommand())
這就意味著,Service不會重復創(chuàng)建,只會在重復調(diào)用startService()的時候,反復調(diào)用onStartCommand()而已,想要停止服務就直接調(diào)用一次stopService()或stopSelf()就可以了。
要想銷毀Service,直接stopService(),onDestroy()就會被執(zhí)行。
再解釋第二列
調(diào)用bindService()
就會先后依次調(diào)用onCreate()和onBind()(如果之前Service已經(jīng)創(chuàng)建成功了并且沒有被銷毀,就會只調(diào)用onBind())
這就意味著,Service不會重復創(chuàng)建,只會在重復調(diào)用bindService()的時候,反復調(diào)用onStartCommand()而已,想要停止服務就直接調(diào)用一次unbindService()就可以了。
要想銷毀Service,直接unbindService()就可以了
如果startService()和bindService()都調(diào)用了
那么需要stopService()和unbindService()都調(diào)用才會調(diào)用onDestroy()