在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Android/ 一個app有多少個window?

一個app有多少個window?

我目前的理解是:
一般場景下常見的(忽略menu和狀態(tài)欄,一般用不到):
application+activities+(dialog)+(popupwindow)+(toast)+?
所以是:1+activities+(1)+(1)+(1)+?
?:指還有待補(bǔ)充的。
():指可能會出現(xiàn)的
看源碼,我覺得dialog,toast的window都是new 出來的phonewindow,應(yīng)該和掛載在當(dāng)前activity,其所依附的window不是同一個吧?
有點(diǎn)懷疑自己,求賜教,謝謝

回答
編輯回答
冷咖啡

樓主,應(yīng)該是看了 《Android開發(fā)藝術(shù)探索》當(dāng)中的第八章,對Window的理解吧? 作者在后面留了一個問題就是樓主你提的問題:

這里我也看了,從Activity啟動的attach就能看出來是無限的,因為Window的唯一實現(xiàn)類是PhoneWindow,比如說我現(xiàn)在啟動一個Activity,在ActivityThread中開始,調(diào)用啟動Activity,到最后的實例化完成Activity之后會調(diào)用Activity的 attach方法,該方法中就對 PhoneWindow做了實例化。

final void attach(Context context, ActivityThread aThread,
            Instrumentation instr, IBinder token, int ident,
            Application application, Intent intent, ActivityInfo info,
            CharSequence title, Activity parent, String id,
            NonConfigurationInstances lastNonConfigurationInstances,
            Configuration config, String referrer, IVoiceInteractor voiceInteractor,
            Window window) {
        ···
        mWindow = new PhoneWindow(this, window);
        ···
    }

可以私信探討!

2017年12月4日 12:58
編輯回答
掛念你

誒,問了幾個問題都沒有回應(yīng),是我的問題太簡單了,還是沒有什么意義?感覺好冷清

2017年3月1日 23:51