非常感謝作者!你的文檔幫助了我完成了作業(yè)。
我是在Android Q上參考的,在具體的對照中,發(fā)現(xiàn)有不太準確的地方。
BufferSlot mSlots[NUM_BUFFER_SLOTS] 這個不是和窗口數(shù)目對應(yīng)的,由于一個Surface對應(yīng)一個窗口,Surface的內(nèi)部變量不會和窗口總數(shù)對應(yīng)。這個應(yīng)該是指,同一個窗口中有NUM_BUFFER_SLOTS子buffer同時進行顯示刷新,是窗口內(nèi)部的組成部分。親測可以創(chuàng)建80個以上的窗口。
然后Surface內(nèi)部的frontbuffer和backbuffer,Q上已經(jīng)改名為
sp<GraphicBuffer> mLockedBuffer;
sp<GraphicBuffer> mPostedBuffer;
也不是傳統(tǒng)上理解上的2緩沖,3緩沖,3緩沖是驅(qū)動面向屏幕的,代碼一般看不到。
IP屬地:廣東