
ViewRoot.finishDrawing WindowManagerService.finishDrawingWindowĪctivity.attach Call Stack: Activity.attach (Activity.java) Activity.attachBaseContext (PhoneWindow.java) PolicyManager.makeNewWindow (PolicyManager.java) creates the Activity‘s PhoneWindow the UI thread is set to the calling thread which is the Activity‘s main thread tWindowManager (Window.java) creates the Windows‘s Window.LocalWindowManager instanceĪtContentView Call Stack: tContentView (Activity.java) tContentView (PhoneWindow.java) PhoneWindow.installDecor (PhoneWindow.java) creates the window‘s PhoneWindow.DecorView instance PhoneWindow.generateLayout (PhoneWindow.java) according to the window features the layout resource (window decoration) for the window is chosen e.g. SurfaceFlinger.threadLoop poseSurfaces 12.



ViewRoot.performTraversals ViewRoot.draw Surface.lockCanvas (mmap raw surface memory into process B) 10. ViewRoot.relayoutWindow WindowManagerService.relayoutWindow (fetches the surface created by the WMS also into process B) 06. tView WindowManagerService.addWindow 04. Activity.attach PolicyManager.makeNewWindow 03. Composite all visible offscreen surfaces onto the display 2Ĭompositing Content View (FrameLayout) LinearLayout TextViewĪndroid Graphics Architecture II 01. Draw the Activity‘s view hierarchy into the offscreen surface (layer) 5. Create a new surface for the Activity‘s window and hand it over to the Activity 4. Create a new window for the Activity and register it at the WindowManagerService 3.
