1.Window是一個(gè)抽象類(lèi),它的具體實(shí)現(xiàn)是PhoneWindow醉鳖。
Window是一個(gè)抽象概念,每一個(gè)Window都對(duì)應(yīng)著一個(gè)View和一個(gè)ViewRootImpl,Window和View通過(guò)ViewRootImpl建立關(guān)聯(lián)哮内。因此Window并不是實(shí)際存在的盗棵,它是以View的形式存在。
2.WindowManager是一個(gè)接口,是外界訪問(wèn)Window的入口漾根。它的真正實(shí)現(xiàn)是WindowManagerImpl類(lèi)。在WindowManagerImpl中有Window的三大操作實(shí)現(xiàn):添加鲫竞、更新辐怕、刪除。都是調(diào)用mGlobal的方法从绘,即將所有的操作委托給WindowManagerGlobal來(lái)實(shí)現(xiàn)寄疏。最終會(huì)通過(guò)WindowSession來(lái)完成操作。WindowSession的類(lèi)型是IWindowSession僵井,是一個(gè)Binder對(duì)象陕截,真正的實(shí)現(xiàn)類(lèi)是Session。Session內(nèi)部會(huì)通過(guò)WindowManagerService來(lái)實(shí)現(xiàn)功能操作批什。
所以Window的操作主要通過(guò)WindowManager與WindowManagerService之間的IPC操作來(lái)完成农曲。