一、
本系列文章將集中打通Surface系統的任督二脈
任脈:應用程序和Surface的關係
督脈:Surface和SurfaceFlinger之間的關係。
當這二脈打通後,我們就可以自行修煉更高層次的功夫了
1、先看左圖。可以發現,不論是使用Skia繪製二維圖像,還是用OpenGL繪製三維圖像,最終Application都要和Surface交互。Surface就像是UI的畫布,而App則像是在Surface上作畫。所以要想打通任脈,就需破解App和Surface之間的關係。
2、再看右圖。Surface和SurfaceFlinger的關係,很像Audio系統中AudioTrack和AudioFlinger的關係。Surface向SurfaceFlinger提供數據,而SurfaceFlinger則混合數據。所謂打通督脈的關鍵,就是破解Surface和SurfaceFlinger之間的關係,SurfaceFlinger我們簡稱SF.
目標已清楚,讓我們開始“運功”破解代碼吧!