은 가정하자 내가 인터페이스 I. 내 뷰 모델 클래스를 구현하는 활동 A (VM)의 I 인터페이스를 구현하는 객체에 대한 참조를 보유하고있다? 또는 ViewMode 클래스의 인터페이스 참조 때문에 객체가 GC에 적합하지 않습니까?ViewModel에이 활동이 구현하는 인터페이스 참조가 있으면 GC에서 활동 참조를 수집합니까? 활동 A가 파괴 경우</p> <pre><code>class A extends Activity implements I{ ... onCreate(){ mViewModel.setI(this); } } class B extends ViewModel { private I iRef; ... } </code></pre> <p>윌 GC 활동 개체를 수집
갱신 : 내 프로젝트 일부 VMHolder 클래스의 모든 VM 저장 빠르게 (활동을) 볼에 할당에서 , 활동이 파괴 될 때 VM 객체가 파괴되지 않도록.
내 프로젝트에서는 모든 VM 저장소가보기 위해 VMHolder 클래스에 빠르게 저장 (활동)하므로 VM 개체가 작업이 파괴 될 때 파괴되지 않습니다. –
실제로 view holder와 view model과 VMHolder가하고있는 것을 실제로 얻지는 못했지만 정적 참조가 사용되지 않고 viewmodel을 업데이트하기 위해 threading이 사용되지 않는다면, 메모리 누수를 확인하려면 [일부 inbuild 도구] (https://developer.android.com/studio/profile/am-memory.html)의 도움을받을 수 있습니다. –