複製鏈接
請複製以下鏈接發送給好友

Service

(Android四大組件之一)

鎖定
Service是Android系統中的四大組件之一,它是一種長生命週期的,沒有可視化界面,運行於後台的一種服務程序
軟件名稱
Service
軟件平台
Android系統
類    別
服務程序

Service啓動方式

ServiceA started service

被開啓的service通過其他組件調用startService()被創建。
這種service可以無限地運行下去,必須調用stopSelf()方法或者其他組件調用stopService()方法來停止它。
當service被停止時,系統會銷燬它。

ServiceA bound service

被綁定的service是當其他組件(一個客户)調用bindService()來創建的。
客户可以通過一個IBinder接口和service進行通信。
客户可以通過unbindService()方法來關閉這種連接。
一個service可以同時和多個客户綁定,當多個客户都解除綁定之後,系統會銷燬service。

ServiceThe entire lifetime

生命週期 生命週期
service整體的生命時間是從onCreate()被調用開始,到onDestroy()方法返回為止。
和activity一樣,service在onCreate()中進行它的初始化工作,在onDestroy()中釋放殘留的資源。
比如,一個音樂播放service可以在onCreate()中創建播放音樂的線程,在onDestory()中停止這個線程。
onCreate()和onDestroy()會被所有的service調用,不論service是通過startService()還是bindService()建立。

ServiceThe active lifetime

service積極活動的生命時間(active lifetime)是從onStartCommand()或onBind()被調用開始,它們各自處理由startService()或bindService()方法傳過來的Intent對象。
如果service是被開啓的,那麼它的活動生命週期和整個生命週期一同結束。
如果service是被綁定的,它們的活動生命週期是在onUnbind()方法返回後結束。