//DisplayPolicy.java 21250
beginLayoutLw{
layoutNavigationBar()计算NavigationBar,同时更新displayFrames
}
// layoutNavigationBar.java
// Make sure the content and current rectangles are updated to account for the restrictions
// from the navigation bar.
displayFrames.mCurrent.set(dockFrame);
displayFrames.mVoiceContent.set(dockFrame);
displayFrames.mContent.set(dockFrame);
//WindowState
computeFrameLw()
mWindowFrames.mContentFrame.set(mWindowFrames.mFrame);
mWindowFrames.mVisibleFrame.set(mWindowFrames.mContentFrame);
mWindowFrames.mStableFrame.set(mWindowFrames.mContentFrame);
窗口大小的计算
computeFrameLw:982, WindowState (com.android.server.wm)
layoutNavigationBar:1738, DisplayPolicy (com.android.server.wm)
beginLayoutLw:1468, DisplayPolicy (com.android.server.wm)
performLayoutNoTrace:3849, DisplayContent (com.android.server.wm)
performLayout:3824, DisplayContent (com.android.server.wm)
applySurfaceChangesTransaction:3720, DisplayContent (com.android.server.wm)
applySurfaceChangesTransaction:833, RootWindowContainer (com.android.server.wm)
performSurfacePlacementNoTrace:610, RootWindowContainer (com.android.server.wm)
performSurfacePlacement:567, RootWindowContainer (com.android.server.wm)
performSurfacePlacementLoop:159, WindowSurfacePlacer (com.android.server.wm)
performSurfacePlacement:105, WindowSurfacePlacer (com.android.server.wm)
relayoutWindow:2137, WindowManagerService (com.android.server.wm)
relayout:194, Session (com.android.server.wm)
onTransact:684, IWindowSession$Stub (android.view)
onTransact:134, Session (com.android.server.wm)
execTransactInternal:1021, Binder (android.os)
execTransact:994, Binder (android.os)