[Android] SurfaceFlinger (1)
Binder這裡面提供了inter-process及cross-process的溝通機制,而他接收的Container是Parcel Object,幫助programmer方便使用這樣的介面去處理訊息傳遞的問題。在SurfaceFlinger部份,因為由Surface與SurfaceFlinger之間牽涉到不同層的溝通(Surface – SurfaceComposerClient – SurfaceFlinger),所以透過這樣的介面,可以方便程式的撰寫。
由JNI作為分界,大致會是以下情況:
Surface.java (Java-Level)
----------------
JNI (android_view_Surface.cpp)
----------------(Library-Level)
Surface.cpp
SurfaceComposerClient.cpp
----------------
ISurfaceFlingerClient.cpp (Binder)
----------------
SurfaceFlinger.cpp
目前是簡單的了解整個階層架構,接下來要針對Source Code內容做整理,再將基本的運作以流程圖顯示出來。
發佈留言
很抱歉,必須登入網站才能發佈留言。