WEB开发网
开发学院手机开发Android 开发 详解 Android 图形系统 阅读

详解 Android 图形系统

 2010-03-10 16:45:00 来源:WEB开发网   
核心提示:1. frameworks/base/core/java/android/view/Surface.java — Surface::Surface (),2. frameworks/base/core/jni/android_view_Surface.cpp — Surface_init (),详解 Android 图

1. frameworks/base/core/java/android/view/Surface.java — Surface::Surface ()。

2. frameworks/base/core/jni/android_view_Surface.cpp — Surface_init ()。

在 这个函数 中SurfaceComposerClient 对象被创建。

3. frameworks/base/libs/ui/SurfaceComposerClient.cpp — SurfaceComposerClient::SurfaceComposerClient ().

这个函数非常重要, 在这里建立了client和server之间的桥梁。通过函数_get_surface_manager()获 得了一个指向 server的IBinder 对象(具有ISurfaceComposer接 口),之后通过这个IBinder就可以跨进程访问Server的功 能。接着调用 ISurfaceComposer::createConnection()创建并返回了一个ISurfaceFlingerClient的 IBinder。

4. frameworks/base/libs/ui/SurfaceComposerClient.cpp — SurfaceComposerClient::createSurface().

这个函数中,利用前面获得的ISurfaceFlingerClient的IBinder,调 用其createSurface接口。

5.frameworks/base/libs/surfaceflinger/SurfaceFlinger.cpp — BClient::createSurface ()。

BClient由ISurfaceFlingerClient派 生而来。

6.frameworks/base/libs/surfaceflinger/SurfaceFlinger.cpp — SurfaceFlinger:: createSurface()。

这个函数为Surface创 建一个对应的Layer。

上述关键路径中,1,2,3,4运 行 于client进程中,而5,6运行与server进 程中。server作为一个service提供给client访问。

与 图形相关的代码分析

与图形相关的代码主要位于下列目录:

1. frameworks/base/graphics/java/android/graphics

2.frameworks/base/core/java/android/view

3.frameworks/base/core/java/android/widget

4.frameworks/base/opengl/

5.frameworks/base/libs/ui

6.frameworks/base/libs/surfaceflinger

7.frameworks/base/core/jni/android/graphics

8.frameworks/base/core/jni/android/opengl

9.frameworks/base/core/jni/android/android_view_*.cpp

10.external/skia

android.graphics, android.view和android.widget

1.frameworks/base/graphics/java/android/graphics

上一页  1 2 3 4  下一页

Tags:详解 Android 图形

编辑录入:coldstar [复制链接] [打 印]
赞助商链接