Im ayant des problèmes avec le garbage collector dans Mono pour Android et je faisais des recherches à ce sujet et le dire que je dois mettre manuellement GC.Collect() dans toutes les méthodes OnDestroy() afin de libérer des objets que je ne suis pas en train d'utiliser, aussi Im essayant d'utiliser Dispose pour Java.Lang.Objects, mais l'App est toujours en train de cosuming et d'incrémenter la mémoire. Comment puis-je le résoudre?Mono pour les fuites de mémoire Android
Répondre
La question principale: est-ce un problème réel? Les éboueurs sont, par nature, non déterministes, donc l'utilisation de la mémoire variera beaucoup. Ce n'est pas nécessairement un problème. C'est juste une partie de la façon dont les choses sont. Si vous manquez régulièrement de références globales ou épuisiez le tas de processus, c'est un problème. Si vous constatez simplement une augmentation du nombre de grefs, mais qu'ils diminuent quand une collection se produit naturellement, cela ne vaut peut-être pas la peine de vous inquiéter.
Si c'est un problème, nous avons besoin de détails sur le problème. Par exemple, Bitmap instances peuvent facilement exhaust memory, et solutions for Bitmaps ne sont pas nécessairement applicables à tout en général.
Pour obtenir plus d'informations, vous pouvez activer Global Reference Messages pour voir quand les références globales sont créées et détruites.
Par ailleurs, nous mettons constamment à jour les heuristiques GC. Mono pour Android 4.1.0 a introduit un changement dans lequel GC.Collet()
est appelée automatiquement une fois que nous avons atteint un seuil gref de 80% de la valeur gref maximale pour la plate-forme (1800 grefs sur l'émulateur). Cela devrait éliminer une grande partie de la nécessité pour OnDestroy()
d'appeler GC.Collect()
, bien que (comme toujours) le GC peut lancer à des "moments inopportuns", de sorte qu'un GC.Collect()
explicite peut être préférable de toute façon.
- 1. Comment éviter les fuites de mémoire dans l'application Mono MVC3?
- 2. fuites de mémoire d'applications Android
- 3. outil pour vérifier les fuites de mémoire dans Android
- 4. NSDictionary Les fuites de mémoire
- 5. Android: champs statiques et fuites de mémoire
- 6. Suivi de la mémoire/fuites dans Android
- 7. pour mémoire Fuites typedef struct
- 8. Traçage des fuites mémoire/fenêtre dans Android?
- 9. Threads Android Surfaceview et les fuites de mémoire
- 10. Comprendre les fuites de mémoire dans l'application Android
- 11. Bonne pratique pour éviter les fuites de mémoire
- 12. Fuites de mémoire intermittentes
- 13. fuites de mémoire applications
- 14. Mono pour Android - OutOfMemoryError
- 15. mémoire de chasse fuites
- 16. NSDateFormatter Fuites de mémoire
- 17. Comment gérer les fuites de mémoire?
- 18. Éviter les fuites de mémoire d'événements
- 19. PL/SQL - vérifier les fuites de mémoire?
- 20. iOS Conseils sur les fuites de mémoire
- 21. Astuces pour localiser les fuites de mémoire de type valgrind
- 22. unbounded_buffer, _CrtSetDbgFlag et les fuites de mémoire
- 23. C# - Les fuites de mémoire ESD db?
- 24. Android - Évitez les fuites de mémoire pour les images extraites de la galerie
- 25. ASIHTTPDemande de fuites de mémoire
- 26. VisualVM mémoire fuites?
- 27. Qu'est-ce qu'Apple utilise pour détecter les fuites de mémoire?
- 28. Générer des suppressions pour les fuites de mémoire
- 29. Comment éviter les fuites de mémoire pour ce cas?
- 30. Xcode 4 & Instruments pour les fuites de mémoire
Pouvez-vous fournir plus d'informations sur votre recherche? –
Je peux fournir quelques liens qui im se référant au même problème – arkmetal
http://docs.xamarin.com/android/advanced_topics/garbage_collection#Helping_the_GC – arkmetal