學習service的,必須提到service的兩種啟動方式,下面附上生命週期。
通過startservice啟動後,service會一直無限期執行下去,只有外部呼叫了stopservice()或stopself()方法時,該service才會停止執行並銷毀。
bindservice啟動服務特點:
1.bindservice啟動的服務和呼叫者之間是典型的client-server模式。呼叫者是client,service則是server端。service只有乙個,但繫結到service上面的client可以有乙個或很多個。這裡所提到的client指的是元件,比如某個activity。
2.client可以通過ibinder介面獲取service例項,從而實現在client端直接呼叫service中的方法以實現靈活互動,這在通過startservice方法啟動中是無法實現的。
3.bindservice啟動服務的生命週期與其繫結的client息息相關。當client銷毀時,client會自動與service解除繫結。當然,client也可以明確呼叫context的unbindservice()方法與service解除繫結。當沒有任何client與service繫結時,service會自行銷毀。
Service學習筆記
四個手動呼叫的方法 手動呼叫的方法 作用startservice 啟動服務 stopservice 關閉服務 bindservice 繫結服務 unbindservice 解綁服務 五個內部自動呼叫的方法 內部自動呼叫的方法 作用oncreat 建立服務 onstartcommand 開始服務 on...
Service詳解 學習(一)
因為最近想用到service,所以今天系統的學習了一下service的用法。service給我的感覺就和activity很相似,都是代表可執行的程式,只不過service是在後台執行的,沒有什麼實在的介面。service一旦啟動,和activity一樣,具有生命週期。使用activity或者serv...
Android學習筆記九 Service
一 service是什麼 二 service的生命週期方法 在定義service子類時,需要重寫以下方法 內部自動呼叫的方法 作用oncreat 建立服務 onstartcommand 開始服務 ondestroy 銷毀服務 onbind 繫結服務 onunbind 解綁服務 在其他地方,建立服務 ...