【发布时间】:2017-10-24 02:34:03
【问题描述】:
private ArrayList<OutputInputPair> pairs = new ArrayList<OutputInputPair>();
public void process() {
while (!stopped) {
for (OutputInputPair pair : pairs) {
processCommandPairs(pair);
}
}
}
首先当用户点击停止按钮时,stopped = true 所以,如果用户没有点击按钮,
总是执行processCommandPairs 方法。
点击停止按钮时
@Override
public void stop() {
Log.d(TAG, "STOP memory leak");
pairs.clear();
pairs = null;
stopped = true;
}
我只有一个问题,如果用户不点击按钮,数组列表发生内存泄漏对吗?
如果不是,如何避免arraylist上的内存泄漏?
【问题讨论】:
-
我不能 100% 确定您在做什么,但您似乎在与事件驱动的编程范式作斗争。
-
@HovercraftFullOfEels
process()方法只执行,记录开始。当我停止按钮单击时,arraylist 部分不会发生内存泄漏
标签: java android arraylist memory-leaks