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에서 메모리 누수를 피하는 방법은 무엇입니까?
감사. 여기에 이미지 설명 입력
onDestroy
활동 의 메서드를 재정의하고 stopped
명시 적으로 true로 설정 하여 활동이 닫힐 때 while 루프가 종료되고 ArrayList를 가비지 수집에 사용할 수 있도록합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다