android基礎夯實2
24)不把功能都用H5實現然後把需求都扔給前段的人去做;
》用h5開發出的web app體驗上並不比原生app差太多,但其跨平臺的特性大大減低了開發成本,而且可以快速迭代。
25)ServiceManager、ActivityManager、packageManager 、*****Manager 都弄懂了?
>在Android系統中用到最多的通訊機制就是Binder,Binder主要由Client、Server、ServiceManager和Binder驅動程式組成。其中Client、Service和ServiceManager執行在使用者空間,而Binder驅動程式執行在核心空間。核心元件就是Binder驅動程式了,而ServiceManager提供輔助管理的功能,無論是Client還是Service進行通訊前首先要和ServiceManager取得聯絡。而ServiceManager是一個守護程式,負責管理Server並向Client提供查詢Server的功能。
>Service Manager存在的意義
1.Service Manager能集中管理系統內的所有服務,它能被施加許可權控制,並不是任何程式都能註冊服務的。
2.Service Manager支援通過字串名稱來查詢對應的Service。
3.由於各種原因的影響,Server程式可能生死無常。如果有了Service Manager做統一的管理,那麼Client只要向Service Manager做查詢,就能得到Server的最新資訊。
>Service Manager程式的主要工作如下:
1.初始化binder,開啟/dev/binder裝置;在記憶體中為binder對映128K位元組空間;
2.指定SM對應的代理binder的handle為0,當client嘗試與SM通訊時,需要建立一個handle為0的代理binder,這裡的代理binder其實就是第一節中描述的那個代理介面;
3.通知binder driver(BD)使SM成為BD的context manager;
4.維護一個死迴圈,在這個死迴圈中,不停地去讀核心中binder driver,檢視是否有可讀的內容;即是否有對service的操作要求, 如果有,則呼叫svcmgr_handler回撥來處理請求的操作。
5.SM維護了一個svclist列表來儲存service的資訊。
26)Binder 也搞清楚了?
>Android系統程式間通訊機制Binder的總體架構由Client、Server、ServiceManager和驅動程式Binder四個元件構成.
>binder通訊是一種client-server的通訊結構,
1.從表面上來看,是client通過獲得一個server的代理介面,對server進行直接呼叫;
2.實際上,代理介面中定義的方法與server中定義的方法是一一對應的;
3.client呼叫某個代理介面中的方法時,代理介面的方法會將client傳遞的引數打包成為Parcel物件;
4.代理介面將該Parcel傳送給核心中的binder driver.
5.server會讀取binder driver中的請求資料,如果是傳送給自己的,解包Parcel物件,處理並將結果返回;
6.整個的呼叫過程是一個同步過程,在server處理的時候,client會block住。
》用h5開發出的web app體驗上並不比原生app差太多,但其跨平臺的特性大大減低了開發成本,而且可以快速迭代。
25)ServiceManager、ActivityManager、packageManager 、*****Manager 都弄懂了?
>在Android系統中用到最多的通訊機制就是Binder,Binder主要由Client、Server、ServiceManager和Binder驅動程式組成。其中Client、Service和ServiceManager執行在使用者空間,而Binder驅動程式執行在核心空間。核心元件就是Binder驅動程式了,而ServiceManager提供輔助管理的功能,無論是Client還是Service進行通訊前首先要和ServiceManager取得聯絡。而ServiceManager是一個守護程式,負責管理Server並向Client提供查詢Server的功能。
>Service Manager存在的意義
1.Service Manager能集中管理系統內的所有服務,它能被施加許可權控制,並不是任何程式都能註冊服務的。
2.Service Manager支援通過字串名稱來查詢對應的Service。
3.由於各種原因的影響,Server程式可能生死無常。如果有了Service Manager做統一的管理,那麼Client只要向Service Manager做查詢,就能得到Server的最新資訊。
>Service Manager程式的主要工作如下:
1.初始化binder,開啟/dev/binder裝置;在記憶體中為binder對映128K位元組空間;
2.指定SM對應的代理binder的handle為0,當client嘗試與SM通訊時,需要建立一個handle為0的代理binder,這裡的代理binder其實就是第一節中描述的那個代理介面;
3.通知binder driver(BD)使SM成為BD的context manager;
4.維護一個死迴圈,在這個死迴圈中,不停地去讀核心中binder driver,檢視是否有可讀的內容;即是否有對service的操作要求, 如果有,則呼叫svcmgr_handler回撥來處理請求的操作。
5.SM維護了一個svclist列表來儲存service的資訊。
26)Binder 也搞清楚了?
>Android系統程式間通訊機制Binder的總體架構由Client、Server、ServiceManager和驅動程式Binder四個元件構成.
>binder通訊是一種client-server的通訊結構,
1.從表面上來看,是client通過獲得一個server的代理介面,對server進行直接呼叫;
2.實際上,代理介面中定義的方法與server中定義的方法是一一對應的;
3.client呼叫某個代理介面中的方法時,代理介面的方法會將client傳遞的引數打包成為Parcel物件;
4.代理介面將該Parcel傳送給核心中的binder driver.
5.server會讀取binder driver中的請求資料,如果是傳送給自己的,解包Parcel物件,處理並將結果返回;
6.整個的呼叫過程是一個同步過程,在server處理的時候,client會block住。
相關文章
- JavaScript夯實基礎系列(三):thisJavaScript
- Android基礎夯實–重溫動畫(三)之初識Property AnimationAndroid動畫
- 基礎夯實:作業系統作業系統
- JavaScript夯實基礎系列(四):原型JavaScript原型
- JavaScript夯實基礎系列(五):類JavaScript
- JavaScript夯實基礎系列(二):閉包JavaScript
- 基礎夯實:基礎資料結構與演算法(一)資料結構演算法
- 夯實基礎:排序演算法之堆排序排序演算法
- JavaScript夯實基礎系列(一):詞法作用域JavaScript
- 夯實Java基礎系列1:Java物件導向三大特性(基礎篇)Java物件
- 夯實Java基礎系列2:Java自動拆裝箱裡隱藏的秘密Java
- 夯實基礎上篇-圖解 JavaScript 執行機制圖解JavaScript
- 夯實基礎,共創數字化新格局JY
- 夯實基礎中篇-圖解作用域鏈和閉包圖解
- 夯實工業高質量發展制度基礎ED
- 夯實基礎系列三:資料庫知識總結資料庫
- 跟我一起夯實程式設計基礎 - 字元編碼程式設計字元
- 夯實Java基礎系列3:一文搞懂String常見面試題,從基礎到實戰Java面試題
- 夯實Java基礎系列5:Java檔案和Java包結構Java
- 夯實Java基礎系列9:深入理解Class類和Object類JavaObject
- 夯實Java基礎系列13:深入理解Java中的泛型Java泛型
- 產品與解決方案來夯實數字基礎設施
- 夯實Java基礎系列8:深入理解Java內部類及其實現原理Java
- 夯實Java基礎系列18:深入理解Java內部類及其實現原理Java
- Gradle For Android(2)--基礎的定製構建GradleAndroid
- 夯實Java基礎系列7:Java 程式碼塊和執行順序Java
- 夯實Java基礎系列2:Java基本資料型別,以及自動拆裝箱裡隱藏的秘密Java資料型別
- 夯實Java基礎系列10:深入理解Java中的異常體系Java
- 夯實Java基礎系列11:深入理解Java中的回撥機制Java
- ∑co時間 | 夯實資料基礎 推動高校數字化轉型
- Android基礎—FragmentAndroidFragment
- 英方軟體加入龍蜥社群,聯手夯實數字基礎設施堅實底座
- 夯實Java基礎系列2:Java基本資料型別,以及自動拆裝箱裡隱藏的祕密Java資料型別
- Pandas 基礎 (2) - Dataframe 基礎
- android基礎學習-android篇day12-android的UI基礎入門AndroidUI
- Android基礎知識Android
- Android 基礎之 HandlerAndroid
- Android 繪圖基礎Android繪圖
- 360攜手湘潭大學,為推動網路安全發展夯實人才基礎