序言
出於工作需要,也源於個人興趣,終於下決心花時間整理一下自己針對Android圖形顯示子系統的一些零散知識。其實對於是否把這一系列文章釋出出來,個人也曾幾經猶豫,原因是這些文章的內容並非個人研究成果或實踐經驗的總結,而僅僅只是學習過程中的 零散筆記 罷了。文章中的錯誤觀點或謬論對讀者可能產生的錯誤引導是我不想看到的。
當然,既然文章已經寫出,我想就要發揮出它的價值,即便是錯誤的觀點我覺得在大家的批判、指正、討論中也會引發讀者更多的思考,讓你我還有廣大讀者共同進步。
個人雖然從事Android開發也比較長時間了,但對於Android圖形顯示系統的知識一直比較潰泛,寫作這些文章時也是很多地方一知半解,很多內容也難以講清楚來龍去脈,甚至強加了個人“自以為是”的觀點。網路上其實已經有很多優秀的文章的來解析Android圖形顯示系統的架構。Android每年一個大版本的更新,圖形顯示系統的code在一定範圍內也幾經調整與修改,雖基本原理不變,但處理邏輯卻也發生了很大的變化。個人也是想基於最新版本Android整理一些自己在這個領域的知識脈絡,並把一些零散的筆記記錄於此。
學習的過程是漫長的,該系列的筆記也不會一蹴而就或在短時間內一次完成,所以在學習過程中,我會不斷的把新的筆記、新的收穫更新上來。該系列筆記會在動態中不斷更新。
基於此,我建議大家在閱讀這些文章時,請帶著審慎與批判的態度去閱讀,閱讀中請保持獨立思考,因為這只是幾篇學習筆記,錯誤會隱藏於文章各個角落。
作者水平有限,文章難免錯誤,也請大家不吝賜教。
圖形顯示系列
Android 12(S) 圖形顯示系統 - 基本概念(一)
Android 12(S) 圖形顯示系統 - 示例應用(二)
Android 12(S) 圖形顯示系統 - 應用建立和SurfaceFlinger的溝通橋樑(三)
Android 12(S) 圖形顯示系統 - SurfaceFlinger的啟動和訊息佇列處理機制(四)
Android 12(S) 圖形顯示系統 - createSurface的流程(五)
Android 12(S) 圖形顯示系統 - BufferQueue/BLASTBufferQueue之初識(六)
基礎知識系列
Android Native -- Message/Handler/Looper機制(原理篇)
Android Native -- Message/Handler/Looper機制(應用篇)
最後給大家送上一份好心情