Android Service 生命周期

官放圖.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()

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容