SurfaceFlinger实例如何被Android中的应用程序使用?

时间:2011-08-26 09:12:17

标签: android android-ndk

我正在尝试了解Android框架的SurfaceFlinger代码。我无法理解何时调用SurfaceFlinger的readytorun方法?有什么意见吗?

1 个答案:

答案 0 :(得分:0)

SurfaceFlinger还继承了Thread类(以及其他类),因此readyToRun()是应该放置各种初始化片段的方法,因为它在新创建的线程(_threadLoop();的第一步中被调用; JB检查框架/ native / libs / utils / Threads.cpp)。

SurfaceFlinger线程在surfaceflinger进程(main_surfaceflinger.cpp)中作为最早的Android进程之一启动(启动后不久 - 就在屏幕上显示启动动画之前)。在main_surfaceflinger.cpp内,Surfaceflinger服务注册到ServiceManager,并启动SurfaceFlinger线程(以及其他各种事项)。