240 发简信
IP属地:内蒙古
  • 非常感谢作者!你的文档帮助了我完成了作业。
    我是在Android Q上参考的,在具体的对照中,发现有不太准确的地方。

    BufferSlot mSlots[NUM_BUFFER_SLOTS] 这个不是和窗口数目对应的,由于一个Surface对应一个窗口,Surface的内部变量不会和窗口总数对应。这个应该是指,同一个窗口中有NUM_BUFFER_SLOTS子buffer同时进行显示刷新,是窗口内部的组成部分。亲测可以创建80个以上的窗口。

    然后Surface内部的frontbuffer和backbuffer,Q上已经改名为
    sp<GraphicBuffer> mLockedBuffer;
    sp<GraphicBuffer> mPostedBuffer;
    也不是传统上理解上的2缓冲,3缓冲,3缓冲是驱动面向屏幕的,代码一般看不到。

    Android图形系统(八)-app与SurfaceFlinger共享UI元数据过程

    Android应用程序与SurfaceFlinger服务是运行在不同的进程中的,因此,它们采用Binder进程间通信机制来进行通信。 但是我们知道一个Android应用程序可...