核心研究 Framework框架

2021-06-25 21:37:45 字數 616 閱讀 9452

framework定義了客戶端元件和服務端元件功能及介面。以下闡述中,「應用程式」一般是指「.apk」程式。

框架中包含三個主要部分,分別為服務端、客戶端和linux驅動。

服務端

服務端主要包含兩個重要類,分別是windowmanagerservice(wms)和activitymanagerservice

(ams)。wms的作用是為所有的應用程式分配視窗,並管理這些視窗。包括分配視窗的大小,調節各視窗的疊放次序,隱藏或者顯示視窗。ams的作用是管理所有應用程式中的activity。

除此之外,在服務端還包括兩個訊息處理類。

客戶端

客戶端主要包括以下重要類。

linux驅動

linux驅動和framework相關的主要包含兩部分,分別是su***ceflingger(sf)和binder。每乙個視窗都對應乙個su***ce,sf驅動的作用是把各個su***ce顯示在同乙個螢幕上。

binder驅動的作用是提供跨程序的訊息傳遞。

核心研究 Binder框架概述

binder工作在linux層面,屬於乙個驅動,只是這個驅動不需要硬體,或者說其操作的硬體是基於一小段記憶體。從執行緒的角度來講,binder驅動 執行在核心態,客戶端程式呼叫binder是通過系統呼叫完成的。binder是一種架構,這種架構提供了服務端介面 binder驅動 客戶端介面三個模組,如...

如何自己定製iOS框架(framework)

有些公司比較喜歡將自己寫的 封裝起來,一般會封裝成靜態庫,這樣就不會對外暴露源 但是靜態庫的製作有些麻煩,有些文章說需要針對模擬器和真機封裝成兩個版本的靜態庫。最近博主無意間發現了乙個可以自己製作的ios framework的東西,使用之後感覺非常方便,封裝的非常好,就像系統自帶的framework...

linux核心研究2

獲取核心原始碼 www.kernel.org 核心原始碼樹 編譯與安裝核心 make xconfig make gconfig make make modules install 核心開發注意點 不能訪問c庫,只能訪問核心標頭檔案定義的函式,比如沒有printf,可以使用printk,使用方法差不多...