을 완료 무료 메모리는 샘플 코드 https://github.com/PVoLan/TestActivityDisposeMonodroid은 - 활동이 여기에
우리는이 개 활동을 찾을 수 있습니다. 하나에는 버튼이 두 번째 활동으로 이어집니다. 두 번째 활동에는 30 개의 TextView (복잡한 UI 시뮬레이션)와 뒤로 버튼이 있습니다.
앞으로 및 뒤로 활동을 전환하면 GREF 수량이 빠르게 증가합니다. 오버 클러킹 2k 한도 및 충돌 응용 프로그램을 앞뒤로 클릭하는 데 약 60 시간이 걸립니다.
Android 로그는 저장소에서 찾을 수 있습니다. 로그에서 볼 수 있듯이 GREF 오버플로는 TextViews (1543 GREF)로 인해 발생합니다. 또 다른 GREFS은 다음과 같습니다
- 버튼 (55 GREFs) -에서는 backButton, 분명히
- OnClickListenerImplementor (55 GREFs) - backButton.Click의 listenters
- activity2에 (54 GREFs)
- 의도 (54 GREFs) - 활동 우선
우리가 볼 수있는 그래서, 활동 자원이 해제되지 않을 때 작업 완료 (들의 OnDestroy가 호출 있지만) 어떻게이 모든 GREFs가 제대로 확보 할 수 있습니다?
이것은 테스트 샘플에서 작동하지만 실제 프로젝트에서 예기치 않은 예외가 발생합니다. [here here] (http://stackoverflow.com/questions/7599737/monodroid-gc-collect-fails-without-any-reason) . monodroid에서 GC에 대한 몇 가지 문제점에 대해 들었습니다. 이 질문이 게시되었을 때, 나는 monodroid 1.0.2 버전을 사용했습니다. 이제 최신 베타 버전 (업데이트 된 4-5 일 전)을 사용하지만 문제는 여전히 실제입니다. – PVoLan
@PVoLan : 기기를 재부팅하고 도움이되는지 확인하십시오. – jonp
에뮬레이터를 다시 부팅하고 깨끗한 HTC를 사용하려고했습니다. 효과가 없습니다. 나는 또한 테스트 샘플에서 예외를 나타 내기 위해 노력하고 있지만 여전히 그것을 잡을 수 없다. 내가 너에게 통보 할께. 내가 성공하면 – PVoLan