我正在爲一些硬件移植android棉花糖。我面臨的問題是,如果我通過xml創建一個UI對象,它不會被GC掃描。 例如:通過XML創建的UI對象在Android中沒有被打掃Marshmallow
我創建了一個應用程序來檢查它。 這個程序有2個活動。 每個活動都有一個按鈕。 如果我按下此按鈕,它將結束當前活動並開始其他活動。
如果我在xml佈局和活動setcontentview中定義一個按鈕,它將創建一個類型爲button的對象。現在我一次又一次切換這些活動來創建多個按鈕對象,因爲我沒有使用任何LAUNCH_MODE(有意)。
現在讓我們說已經創建了8個Button的對象。我多次按下按鈕,進入主屏幕。我從Android Studio發起了GC。之後,如果我採取堆轉儲,我仍然發現8個按鈕的實例,但「對象的id被改變」。此外,我看到Button類的構造函數在啓動GC後未被調用。
那麼是誰創造了這些對象。如果這些是相同的對象,爲什麼ids已被更改。
同樣的事情,如果我通過使用按鈕java類創建按鈕對象做,
像鍵b =新按鈕(上下文C);
對象正在被打掃。
如果你明白問題,請說明一下。
BR, 拉胡爾
你能分享一個[mcve]嗎? – antonio