7
votes

Détecter les fuites de mémoire native dans le code JNI Android

Comment détecter les fuites de mémoire dans le code JNI Android? J'utilise Froyo


2 commentaires

Dupliqué possible: Stackoverflow.com/ Questions / 2851483 / ...


Je cherche des fuites de mémoire de code natif


3 Réponses :


13
votes

Mise à jour 2017: strong> Valgrind est disponible Pour Android. La fonctionnalité de débogage MALLOC intégrée a été considérablement étendue dans Android N , et est assez utile pour trouver des fuites de mémoire. Vous devrez peut-être _exit () code> l'application pour déclencher la décharge.

La fonction DDMS décrite ci-dessous obtient actuellement un Bref mention dans les documents officiels. P>


Il existe une fonctionnalité expérimentale et non prise en charge que vous pourrez peut-être profiter de. p>

dans votre fichier de configuration DDMS (par exemple, ~ / .android / ddms.cfg code> sur Linux), ajoutez "natif = true". Cela permet à l'onglet de tas natif. P>

Suivant, activez le suivi de l'allocation de tas natifs sur l'appareil et redémarrez le cadre de l'application: P>

I/libc    ( 4847): ls using MALLOC_DEBUG = 1 (leak checker)


3 commentaires

Je l'ai fait, mais nous ne pouvons pas confirmer que c'est une fuite de mémoire, il affiche simplement les allocations de mémoire.


À droite. Vous devez regarder les allocations au fil du temps. S'ils grandissent continuellement, vous déterminez où la croissance provient de la trace de la pile et de le suivre de là. Il n'y a pas encore de valcrind pour Android.


S'il vous plaît définir des "communiqués récents".



0
votes

u besoin de prendre l'instantané avant et après le test de test. Puis appuyez sur +/- bouton Ensuite, il montrera l'emplacement de mémoire retenue.


1 commentaires

Cette réponse ne fournit aucune valeur.



0
votes

J'ai utilisé dans JB, JB +, Kitkat et Lollipop. Son très bon outil à Android pour trouver les fuites.


0 commentaires