모노 가비지 수집기에 대한 문제가 안드로이드와 나는 그것을 연구하고 수동으로 GC.Collect()를 모든 OnDestroy() 메소드에 넣어야 만 오브젝트를 해제 할 수있다. 그 메신저도 사용하지 않는, 또한 Java.Lang.Objects에 대한 Dispose를 사용하려고하지만, 응용 프로그램은 여전히 cosuming 및 메모리를 증가하고 있습니다. 어떻게 해결할 수 있습니까?모노 용 안드로이드 메모리 누수
2
A
답변
6
기본 질문 : 실제 문제입니까? 가비지 콜렉터는 본질적으로 비 결정적이므로 메모리 사용은 상당히 다양합니다. 이것은 반드시 문제가되는 것은 아닙니다. 그것은 단지 사물의 일부입니다. 글로벌 레퍼런스를 정기적으로 사용하지 않거나 프로세스 힙을 다 써 버린 경우이 문제가 발생합니다. grefs가 증가하는 것을 볼 수는 있지만 컬렉션이 자연 스럽 게 발생하면 그렙은 줄어들지 만 걱정하지 않아도됩니다.
문제가있는 경우 문제가 무엇인지 구체적으로 알아야합니다. 예를 들어, Bitmap 인스턴스는 쉽게 exhaust memory이며, solutions for Bitmaps은 일반적으로 모든 것에 적용 할 수있는 것은 아닙니다.
자세한 내용을 보려면 Global Reference Messages에서 글로벌 참조가 작성 및 삭제 된시기를 확인할 수 있습니다.
또한 Google은 지속적으로 GC 휴리스틱을 업데이트하고 있습니다. Mono for Android 4.1.0은 플랫폼에 대한 최대 gref 값 (에뮬레이터의 1800 grefs)의 80 % 인 gref 임계 값에 도달하면 GC.Collet()
이 자동으로 호출되는 변경을 도입했습니다. 이 경우 은 GC.Collect()
을 호출해야하지만 GC는 "부적절한 순간"에 실행될 수 있기 때문에 많은 부분을 제거해야하므로 명시적인 GC.Collect()
이 바람직 할 수 있습니다.
관련 문제
- 1. 모노 터치 메모리 누수
- 2. 메모리 누수, 안드로이드 용 봄
- 3. 안드로이드 WebView 메모리 누수
- 4. 안드로이드 메모리 누수
- 5. 안드로이드 : 정적 필드와 메모리 누수
- 6. 안드로이드 메모리 누수 - 치명적인 포옹
- 7. 메모리 누수
- 8. 메모리 누수
- 9. 메모리 누수
- 10. 메모리 누수
- 11. Qt 용 메모리 누수 감지기가 있습니까?
- 12. 안드로이드 용 모노 : 스플래시 스크린 튜토리얼 C#
- 13. 안드로이드 용 모노 스토리지 Isolated Storage on
- 14. 안드로이드 용 모노, 변화가 반영되지 않음
- 15. 승인을받은 웹 서비스를 사용하는 안드로이드 용 모노
- 16. av_interleaved_write_frame의 메모리 누수
- 17. .NET Remoting 메모리 누수?
- 18. WPF WriteableBitmap 메모리 누수?
- 19. GTK # + Cairo + Pango의 메모리 누수
- 20. Android 용 모노 - OutOfMemoryError
- 21. 메모리 누수 - 디버거와 메모리 분석기에 일치하지 않습니다.
- 22. 크래시 및 메모리 누수 디버깅
- 23. Android 용 모노 MySQL 연결
- 24. 메모리 누수 NSAutoreleasePool
- 25. ajax에서 메모리 누수 - setInterval
- 26. 레이크 작업 메모리 누수
- 27. fgets의 메모리 누수
- 28. NSString을 사용한 메모리 누수
- 29. 객관적인 c 메모리 누수
- 30. 자바 스크립트 메모리 누수
연구에 대한 자세한 정보를 제공 할 수 있습니까? –
동일한 문제를 참조하는 링크를 제공 할 수 있습니다. – arkmetal
http://docs.xamarin.com/android/advanced_topics/garbage_collection#Helping_the_GC – arkmetal