private ArrayList<OutputInputPair> pairs = new ArrayList<OutputInputPair>();
public void process() {
while (!stopped) {
for (OutputInputPair pair : pairs) {
processCommandPairs(pair);
}
}
}
最初のときに、ユーザーのクリックストップボタン、stopped = true
ので、ユーザーがボタンをクリックしない場合、 は常にprocessCommandPairs
メソッドを実行します。arraylistを使うときにメモリリークを避けるには?
停止ボタンは、私は、ユーザーがボタンをクリックしないしない場合は、1つだけ質問があり、配列リストでメモリリークが正しい発生
@Override
public void stop() {
Log.d(TAG, "STOP memory leak");
pairs.clear();
pairs = null;
stopped = true;
}
をクリックしてください?
もしそうでなければ、arraylistのメモリリークを避けるにはどうすればよいですか?
ありがとうございました。 enter image description here
あなたは何をやっているのかは100%確信していませんが、イベント駆動型プログラミングのパラダイムと戦っているようです。 –
@HovercraftFullOfEels 'process()'メソッドは、レコードstartだけを実行します。私はボタンのクリックを停止すると、arraylistの部分は、メモリリークが発生しません –