2011-03-17 51 views
7

所以我已經開始瞭如何打開fragment。這是我的困境。我有我的view旁邊的元素(元素週期表元素)列表。當你選擇一個元素時,它會顯示它的信息。結束一個片段

我的問題是,我需要能夠從(我們將調用細節片段)中刪除view,並從堆棧中刪除它,這樣我沒有一個巨大的內存備份。

當調用新的fragment來替換它時,我該如何從堆棧中刪除它?

+0

真的有一個「巨大的內存備份」問題嗎?除非它引起你的實際問題,或者你有信息表明它會成爲一個問題,否則你會給應用程序增加不必要的複雜性。 – Dave 2011-06-28 12:27:23

回答

3

您可以使用FragmentTransaction#remove()方法刪除片段。此方法也會從已連接的容器中刪除視圖。

然而,來自片段文檔:

停止: 片段是不可見的。主機活動已停止或片段已從活動中刪除,但已添加到後端堆棧。停止的片段仍然存在(所有狀態和成員信息由系統保留)。但是,用戶不再可見,並且如果活動被終止,將會被殺死。

如果您已經將該片段添加到後退堆棧中,它將不會被殺死,直到該活動被終止。

+0

無論如何殺死片段活動? :( – atasoyh 2011-12-02 17:08:00

0

你可以嘗試不允許添加到後臺堆棧。當片段被移除或替換時,它不會被添加到後臺堆棧,並且需要再次重新填充(使用數據)。