列表值被删除

时间:2011-11-13 18:19:07

标签: java android list listview

我在一个扩展活动的类中创建了一个列表,

    public static     List<String> myList = new ArrayList<String>();

我正在使用行

在另一个类中为此添加值

ListHistory.myList.add(0, temp);

其中temp是一个字符串。 我可以在我的应用程序中看到值列表,但在某些情况下,例如强制关闭或在关闭/打开移动设备后,列表将变为空。所以有人知道为什么会这样吗?

2 个答案:

答案 0 :(得分:0)

因为静态块将在每次内存循环时无效。

所以不要让它静止。在任何情况下都没有必要。

putEstra()persistant storage

答案 1 :(得分:0)

应不惜一切代价避免使用静态变量,因为它们会导致内存泄漏(一旦应用程序处于CLOSED状态,静态变量将被垃圾收集)。使用它们只能用于声明常量而不是其他任何东西。您可以从要使用此列表的位置实例化ListHistory类并为列表创建getter,也可以使用SharedPreferences保存此历史记录。

http://developer.android.com/reference/android/content/SharedPreferences.html