0
Handler와 같은 비 정적 내부 클래스에서 Activity 참조를 사용하면 메모리 누수가 발생하지만 Activity 참조를 직접 사용하지 않고 약한 참조 만 사용하면 문제가 발생합니까?비 정적 인 내부 클래스에서 Activity의 약한 참조를 사용하는 것이 안전합니까?
Handler와 같은 비 정적 내부 클래스에서 Activity 참조를 사용하면 메모리 누수가 발생하지만 Activity 참조를 직접 사용하지 않고 약한 참조 만 사용하면 문제가 발생합니까?비 정적 인 내부 클래스에서 Activity의 약한 참조를 사용하는 것이 안전합니까?
아니요 ... 약한 참조가 문제의 절반 만 해결합니다 ... 내부 인스턴스가 아무 것도하지 않더라도 참조를 유지합니다 (정적이 아닌 경우). 의도하지 않은 참조가 '살아 있음'으로 유지됩니다. 가비지 컬렉터에 대한 활동 ... 그래서, 아니 누설 안전하지 않습니다. 이것은 내부 클래스가 백그라운드 작업에서 실행되는 경우 또는 외부에서 다른 사람이 내부에 대한 참조를 유지할 수있는 경우에 해당됩니다.
활동 참조가 필요하지 않은 이유를 정적으로 선언하지 않는 이유는 무엇입니까? – FrozenFire