Dialog 为什么必须使用 Activity 的 Context

Dialog 为什么必须使用 Activity 的 Context

      • 一、添加 Window
      • 二、图解

一、添加 Window

对于 Window 的操作,最终都会调用到 WMS 的响应方法,addWindow() 方法大致逻辑:

  1. 对所要添加的窗口进行检查,如果窗口不满足一些条件,就不会再执行后续的代码逻辑
  2. WindowToken 相关的处理,比如有的窗口类型需要提高 WindowToken,没有提供的话就不会执行下面的代码逻辑,有的窗口类型则需要由 WMS 隐式创建 WindowToken
  3. WindowState 的创建和相关处理,将 WindowToken 和 WindowState 相关联
  4. 创建和配置 DisplayContent,完成窗口添加到系统前的准备工作

二、图解

Dialog 为什么必须使用 Activity 的 Context_第1张图片

你可能感兴趣的:(Android,源码分析)