【发布时间】:2015-01-12 08:17:07
【问题描述】:
我有一个方法可以每 5 秒迭代一次大型数组。在每个循环中,我都会向ArrayList 添加一些内容。
听说使用new 会占用更多内存。
我需要知道在ArrayList 上方清空/清除的最佳方法是什么。
private ArrayList<MyMarker> myArray;
public void callEveryFiveSeconds(){
myArray = new ArrayList<MyMarker>(); //clears previous array data
//grab array data from server
for (int i = 0; i < 200; i++) {
myArray.add(someData);
}
}
或
private ArrayList<MyMarker> myArray = new ArrayList<MyMarker>();
public void callEveryFiveSeconds(){
myArray = null; //clears previous array data
//grab array data from server
for (int i = 0; i < 200; i++) {
myArray.add(someData);
}
}
【问题讨论】:
-
第二个会导致 NullPointerException
-
第二个会给你一个NPE。
-
所以我必须使用
new清空ArrayList?
标签: java memory-management arraylist