Service的啟動 繫結過程

2022-07-14 08:48:12 字數 1216 閱讀 6486

--摘自《android高階解密》

*service啟動過程*

第一步:contextimpl到activitymanagerservice的呼叫過程

第二步:activitythread啟動service

1)processrecord主要用來描述執行的應用程式程序的資訊

2)loadedapk是乙個apk檔案的描述類

*service繫結過程*

第一步:contextimpl到ams的呼叫過程

第二步:service的繫結過程

1)幾個與service相關的物件型別

* servicerecord  用於描述乙個service

* processrecord  乙個程序的資訊

* connectionrecord  用於描述應用程式程序和service建立的一次通訊

* intentrecord  用於描述繫結service的intent

2)bindservice方法內部會啟動service

3)servicedispatcher是loadedapk的內部類,innerconnection的connected方法內部會呼叫h的post方法向主線程傳送訊息,並且解決當前應用程式程序和service跨程序通訊的問題

1)iserviceconnection,它是serviceconnection在本地的**,用於解決當前應用程式程序和service跨程序通訊的問題,具體實現為servicedispatcher.innerconnection

Service的繫結過程

摘自 android高階解密 第一步 contextimpl到ams的呼叫過程 第二步 service的繫結過程 1 幾個與service相關的物件型別 servicerecord 用於描述乙個service processrecord 乙個程序的資訊 connectionrecord 用於描述應用...

Service解析(一)啟動和繫結Service

service是四大元件之一,在後台執行,多用來在後台執行耗時操作,servie是執行在主線程中都 public class myservice extends service override public ibinder onbind intent intent override public ...

Service的啟動方式

service的啟動方式 兩種啟動模式,一種是非繫結啟動模式,另一種是繫結啟動模式。一 startservice方式啟動 1 intent intent new intent this,firstservice.class 2 開啟服務 3 startservice intent 二 繫結啟動模式 ...