I had read the surface flinger source code in cupcake, and hope to undertand how the android GUI system work. but now I am mixed-up still. and following is my understand and questions:
surfaceflinger work flow: (1) new surfaceflingerclient(), it will createconnection(), and new a client (2) createsurface, it will new layer or layerblur or layerdim by z- blend order (3) createoverlay, if layer support overlay (4) register buffer (5) draw something on canvas(line, text, bitmap, rect...) which attach above buffer (6) post buffer my questions now: (1) surfaceflinger.cpp SurfaceFlinger::createconnection() will create a client which allocate 8MB heap for manangement surface data handle(color conversion, flip, layers). how many client have android system? one is BootAnimation, one is test sample overlays.cpp, one is debug CPUGUAGE, and one is WindowManager? In fact BootAnimation will destroy when it finish, (but how it destroy the 8MB heap?). Test sample and debug CPUGUAGE will not start for it is not enabled. So android system has only one surface flinger client, isn't it? OpenGL has another client? (2)createsurface() each app with one window has attached one surface? or all app share one surface? one surfaceflinger client can create mutiple surfaces? (3)copybit.default.so where is the source code? (4)surfaceflinger not support YUV format? and it ony support RGB565? more question and analysis will be continued, welcome helps thanks tom --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "android-framework" group. To post to this group, send email to android-framework@googlegroups.com To unsubscribe from this group, send email to android-framework+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-framework?hl=en -~----------~----~----~----~------~----~------~--~---