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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SurfaceFlinger与Surface概述

發布時間:2023/12/2 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SurfaceFlinger与Surface概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

基本原理:

SF一個Client對應一個app中的SurfaceComposerClient, 分別是Binder的n端和b端,主要用來CreateSurface

一個app中有多個Activity,一個Activity一般有一個Surface(除SurfaceView,一個View就有一個Surface),這個Acitivity所有View都是畫在這個Surface上的。

App中的每個Surface對應SF中的每個Layer,因為SF為App創建Surface的時候,同時在SF端創建一個Layer。

Layer里面有個一個BufferQueue,對應Surface中的一個mGraphicBufferProducer,分別是Binder中的n端和b端。主要方法是dequeueBuffer和queueBuffer,當app需要在surface上畫圖時,dequeueBuffer申請一個緩存,寫入,然后queueBuffer送出緩存并且通知SF來合成。

可以注意到,QueueBuffer和Surface都有一個BufferSlot數組,里面Buffer順序是同步的,兩個數組對應每一個元素指向同一個數據,這個數據也就是GraphicBuffer,應為這兩個數組各自在兩個進程中,所以這里是通過內存共享來實現。

轉載于:https://www.cnblogs.com/hushpa/p/6530905.html

總結

以上是生活随笔為你收集整理的SurfaceFlinger与Surface概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。