日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android核心分析之二十七Android GDI 之SurfaceFlinger之动态结构示

發(fā)布時間:2023/11/30 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android核心分析之二十七Android GDI 之SurfaceFlinger之动态结构示 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??????? SurfaceFlinger對象建立過程示意
  1 SurfaceSession的建立
  客戶端請求建立Surface時,首先在要與SurfaceFlinger建立一個Session,然后再Session上建立一個Connection通過概念返回Bclient對象。WindowManagerService在添加第一個窗口前會檢查SurfaceSession是否建立,如何沒有建立,將會新建立一個實例來代表與SurfaceFlinger的一個連接。
  new SurfaceSession()@windowAddedLocked() @WindowManagerService.java。
  SurfaceSession的建立過程大部分是在C++ Native空間中完成的,表現(xiàn)在SurfaceSession的初始化函數(shù):init()本地函數(shù)上。從下面的初始化函數(shù)可以看到:
  Init()<->SurfaceSession_init@android_view_Surface.cpp
  new SurfaceComposerClient
  SurfaceSession在C++Native空間建立一個SurfaceComposerClient實例。而該實例的建立實現(xiàn)了如下的與SurfaceFlinger通訊基礎(chǔ):
  (1)建立了代理SurfaceFlinger服務(wù)的代理服務(wù)端
  (2)建立了IsurfaceFlingerClient連接,在SurfaceFlinger端建立了對應(yīng)的Client,并將BClient返回給WindowManagerService。
???????????????????????

asd.jpg (10 KB, 下載次數(shù): 0)

下載附件 ?保存到相冊

2012-3-22 12:59 上傳


?????????????????????????

qwe.jpg (46.71 KB, 下載次數(shù): 0)

下載附件 ?保存到相冊

2012-3-22 12:59 上傳


  2 Surface的建立
  在WindowManagerService中WindowState類中,我們知道每個主窗口子啊需要是都需要建立一個Surface與之對應(yīng)。win.createSurfaceLocked()@relayoutWindow
  Surface.java
  Init()< -- >Surface_init(…。,session,pid,dpy,w,h,format)@android_view_Surface.cpp
  SurfaceControl surface(client->createSurface
  在mClient的連接上:建立ISurface接口:
  M_Client->greateSurface(…)@
  Bclient ::createSurface(mId…)@SurfaceFlinger.cpp
  mFlinger->createSurface(clientid…。)
  createNormalSurfaceLocked
  *createNormalSurfaceLocked:建立一個Layer分配顯示內(nèi)存
  *createPushBuffersSurfaceLocked:建立一個LayBuffer但是不分配顯示內(nèi)存。
???????????????????????????

qrt.jpg (90.01 KB, 下載次數(shù): 0)

下載附件 ?保存到相冊

2012-3-22 13:00 上傳



轉(zhuǎn)載于:https://www.cnblogs.com/kingshow123/p/androidcore27.html

總結(jié)

以上是生活随笔為你收集整理的Android核心分析之二十七Android GDI 之SurfaceFlinger之动态结构示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。