android 介面是如何顯示到螢幕上的

2021-09-12 09:58:19 字數 751 閱讀 7917

android 系統提供了一系列的繪圖渲染api,這些api支援2d繪圖和3d繪圖;那麼理解這些api是如何工作的,還是十分重要的。應用開發者最常用的就是canvas和opengl,canvas側重於2d,而opengl則是全能。canvas的繪圖操作最終會通過openglrender進行轉換,轉換為opengl支援的動作,並由gpu渲染;也就是說canvas也是通過opengl庫工作的。

無論你使用哪種api,這些操作最終還是會渲染到su***ce上。su***ce代表了生產者,負責生產bufferqueue;與它對立的是作為消費者的su***ceflinger。

下面的圖講述了主要部件的工作流程。

負責管理系統中的window,window manager由su***ce支援實現,window manager將元資料發動到su***ceflinger。

用來展示子系統的硬體抽象層,su***ceflinger可以幫助opengl 和gpu做已經明確的,組合資料的工作,這樣就能減輕gpu和opengl的工作,這樣會更省資源和電量。su***ceflinger工作還是利用opengl es,相當於opengl es 客戶端。

graphics memory allocator 繪製記憶體生成器

posted @

2016-09-13 17:25

清澈見底 閱讀(

...)

編輯收藏

Android中如何優雅的顯示載入介面

github位址 gradle 專案gradle中 allprojects 模組gradle中 implementation com.github.goodluck028 showloading 1.0.3 使用方法 activity loadingshow.with mainactivity.th...

如何讓vsCode顯示中文介面

1 問題 安裝vscode後開啟,發現顯示的語言為英文,想顯示為中文?2 解決方法 2www.cppcns.com.1 快捷鍵ctrl shift p,找到如下設定configure displazrnpmcy language 2.2 在開啟的檔案,修改 為如下設定 2.3 重啟vscode,但是...

如何呼叫android的系統介面

顯示網頁 1.uri uri uri.parse 2.intent it new intent intent.action viewuri 3.startactivity it 顯示地圖 1.uri uri uri.parse geo 38.77.2.intent it new intent int...