Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android GUI系統之SurfaceFlinger(11) SurfaceComposerClient

Android GUI系統之SurfaceFlinger(11) SurfaceComposerClient

編輯:Android開發教程

1.1.1 SurfaceComposerClient

圖 11?28 每個應用程序在SurfaceFlinger中都對應一個Client

SurfaceFlinger運行於SystemServer這一系統進程中,需要UI界面顯示的應用程序則通過binder服務與它進行跨進程通信。在音頻系統的學習中,每一個AudioTrack在AudioFlinger中都可以找到一個對應的Track實現。這種設計方式同樣適用於顯示系統,即任何有UI界面的程序都在SurfaceFlinger中有且僅有一個Client實例。

Client這個類名並沒有完全表達出它的含義,因為在Android系統的很多其它地方你都可以找到同名的類。應用程序與SurfaceFlinger間的接口是ISurfaceComposerClient,Client的父類是BnSurfaceComposerClient,它是這一接口的本地端實現。

/*frameworks/native/include/gui/ISurfaceComposerClient.h*/

class ISurfaceComposerClient : public IInterface

{   …

virtual sp<ISurface>createSurface( surface_data_t* data, const String8& name, DisplayIDdisplay,

                           uint32_t w,uint32_t h, PixelFormat format, uint32_t flags) = 0;

   virtual status_t    destroySurface(SurfaceID sid) = 0;

};

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved