android Service

android中服務是運行在後臺的東西,級別與activity差不多。既然說service是運行在後臺的服務,那麼它就是不可見的,沒有界面的東西。你可以啓動一個服務Service來播放音樂,或者記錄你地理信息位置的改變,或者啓動一個服務來運行並一直監聽某種動作。


重點在於理解Service的生命週期,啓動,綁定,處理連接(正常連接or異常連接,重載ServiceConnection的OnServiceConnected和OnServiceDisconnected),停止。

對於不同的方式(startService和bindService)啓動Service有不同的生命週期。

context.startService() ->onCreate()- >onStart()->Service running--調用context.stopService() ->onDestroy()

context.bindService()->onCreate()->onBind()->Service running--調用>onUnbind() -> onDestroy()

直接使用Service有兩個不足:

不專門啓動一條單獨線程,與應用程序在同一線程中;

不是一個新線程,不應該處理耗時的操作。


由此引出了IntentService,繼承自Service,

會創建單獨的worker線程處理intent請求;

會創建單獨的worker線程處理OnHandleIntent()方法實現代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章