婚恋网站做翻译,seo入门教程,视频制作方法,怎么加入社交电商平台SurfaceFlinger对象建立过程示意 1 SurfaceSession的建立 客户端请求建立Surface时#xff0c;首先在要与SurfaceFlinger建立一个Session#xff0c;然后再Session上建立一个Connection通过概念返回Bclient对象。WindowManagerService在添加第一个窗口前会检查SurfaceS… SurfaceFlinger对象建立过程示意 1 SurfaceSession的建立 客户端请求建立Surface时首先在要与SurfaceFlinger建立一个Session然后再Session上建立一个Connection通过概念返回Bclient对象。WindowManagerService在添加第一个窗口前会检查SurfaceSession是否建立如何没有建立将会新建立一个实例来代表与SurfaceFlinger的一个连接。 new SurfaceSessionwindowAddedLocked WindowManagerService.java。 SurfaceSession的建立过程大部分是在C Native空间中完成的表现在SurfaceSession的初始化函数init本地函数上。从下面的初始化函数可以看到 Init-SurfaceSession_initandroid_view_Surface.cpp new SurfaceComposerClient SurfaceSession在CNative空间建立一个SurfaceComposerClient实例。而该实例的建立实现了如下的与SurfaceFlinger通讯基础 1建立了代理SurfaceFlinger服务的代理服务端 2建立了IsurfaceFlingerClient连接在SurfaceFlinger端建立了对应的Client并将BClient返回给WindowManagerService。 asd.jpg (10 KB, 下载次数: 0) 下载附件 保存到相册 2012-3-22 12:59 上传 qwe.jpg (46.71 KB, 下载次数: 0) 下载附件 保存到相册 2012-3-22 12:59 上传 2 Surface的建立 在WindowManagerService中WindowState类中我们知道每个主窗口子啊需要是都需要建立一个Surface与之对应。win.createSurfaceLockedrelayoutWindow Surface.java Init -- Surface_init…。sessionpiddpywhformatandroid_view_Surface.cpp SurfaceControl surfaceclient-createSurface 在mClient的连接上建立ISurface接口 M_Client-greateSurface… Bclient createSurfacemId…SurfaceFlinger.cpp mFlinger-createSurfaceclientid…。 createNormalSurfaceLocked *createNormalSurfaceLocked建立一个Layer分配显示内存 *createPushBuffersSurfaceLocked建立一个LayBuffer但是不分配显示内存。 qrt.jpg (90.01 KB, 下载次数: 0) 下载附件 保存到相册 2012-3-22 13:00 上传 转载于:https://www.cnblogs.com/kingshow123/p/androidcore27.html