ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### 本章主要内容: - 介绍创建窗口的新的方法以及WindowManager的实现原理 - 探讨ViewRootImpl的工作方式 - 讨论控件树的测量、布局与绘制 - 讨论输入事件在控件树中的派发 - 介绍PhoneWindow的工作原理以及Activity窗口的创建方式 #### 本章涉及的源代码文件名及位置: - ContextImpl.java `frameworks/base/core/java/android/app/ContextImpl.java` - WindowManagerImpl.java `frameworks/base/core/java/android/view/WindowManagerImpl.java` - WindowManagerGlobal.java `frameworks/base/core/java/android/view/WindowManagerGlobal.java` - ViewRootImpl.java `frameworks/base/core/java/android/view/ViewRootImpl.java` - View.java `frameworks/base/core/java/android/view/View.java` - ViewGroup.java `frameworks/base/core/java/android/view/ViewGroup.java` - TabWidget.java `frameworks/base/core/java/android/widget/TabWidget.java` - HardwareRenderer.java `frameworks/base/core/java/android/view/HardwareRenderer.java` - FocusFinder.java `frameworks/base/core/java/android/view/FocusFinder.java` - Activity.java `frameworks/base/core/java/android/app/Activity.java` - PhoneWindow.java `frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java` - Window.java `frameworks/base/core/java/android/view/Window.java` - ActivityThread.java `frameworks/base/core/java/android/app/ActivityThread.java`