2011-06-30 55 views
0

我發現將列表適配器存儲爲我活動中的類成員很方便。原因是我可以在更新我的數據時調用它的「無效」方法,並且列表將刷新。將適配器列爲活動類成員

當活動狀態被序列化/移出內存並返回時,此方法將如何工作?我是否需要在onRestoreInstanceState中重新構建適配器,以使我的應用程序表現良好?

我當然可以保持該數據作爲類成員和重新構建從活動狀態序列化/反序列化數據適配器。

我還可以保持我的列表視圖作爲一個類成員,並使用getAdapter()。通知......當我改變的數據。

任何人都可以點我對這個問題的「最佳實踐」的方向是什麼?

回答

0

我相信他們會恢復。我在很多項目中使用過同樣的東西,而且我沒有任何問題。如果你對UI對象做同樣的事情,那麼你應該注意,這樣你就不會因泄露內存而結束了。

+0

因此,如果我將UI對象保留爲Activity類成員,那麼你說Android應用程序可能會泄漏內存,但適配器應該沒問題? –

+0

是的。想象一下,你讓一個成員參照一個按鈕。當設備方向改變時,整個UI被丟棄並重繪(onCreate被再次調用)。你的按鈕不會被丟棄,因爲你仍然有一個引用它。或者,假設您將Activity作爲參數傳遞給某個對象的構造函數,並且該對象的活動時間比活動時間長。該活動將不會被收集(即使在您停止使用它並且設備內存不足時),直到首先收集該對象。 – 2011-06-30 20:35:06

相關問題