每个Activity、DreamService、Dialog、MediaController、Toast或者自定义View在创建时都会创建一个对应的Window。
服务内部的 WindowManagerGlobal.mViews RootView 列表,获取 RootView 新增和移除的时机; 2、检查 View 对应的 Window 类型,如果是 Dialog 或 DreamService resources.getBoolean(R.bool.leak_canary_watcher_watch_dismissed_dialogs) } // DreamService
ChooserTargetService要求,确保只有系统 可以绑定到它 016 BIND_DEVICE_ADMIN 请求系统管理员接收者receiver,只有系统才能使用 017 BIND_DREAM_SERVICE 必须由一个DreamService