Appareils mobiles

Comment détecter les fuites de mémoire android

Un des plus horribles lacunes de sécurité dans Android est la fuite de mémoire. Ils sont malicious parce qu'un morceau de code peut se bloquer les applications ou peut créer des problèmes. Fuites de mémoire peuvent se produire en raison de la création de stockage en tas et ne parviennent pas à le supprimer. C'est un problème grave pour les applications et il est causé par un pointeur qui ne pas obtenir retourné dans la boucle.

Erreurs de mémoire peuvent être divisés en deux types, de la mémoire et la fuite de mémoire. Mémoire insuffisante qui tente d'assigner plus de mémoire qui a des tas de l'application. La fuite est difficile à trouver. Vous pouvez identifier les fuites dans l'application tout en recevant le rapport d'accident. En outre, application accidents peuvent se produire en raison de plusieurs problèmes. Donc, trouver la fuite est la partie la plus difficile dans le développement. La fuite se produit en raison de la détention d'un bien pendant une longue période, même après que son but a été fini. Habituellement le garbage collector collecte tous les objets morts ou non utilisées, qui n'a pas tous les liens vers eux. Si les programmes de tenir les objets, le garbage collector ne sera pas en mesure de le nettoyer.

De nombreux outils sont disponibles pour tester les fuites, éclipse memory analyzer, plugin Mat traceview outil du SDK android et Valgrind. SDK Android propose deux façons importantes d'esquisser l'utilisation de la mémoire du tracker App. Allocation et décharges de tas ya deux façons principales. Allocation tracker est utile pour les développeurs, à savoir l'utilisation de la mémoire de l'application dans une période donnée. Néanmoins, il ne fournit pas l'état global du tas de l'application.

Tas de décharges sont l'outil impressionnant pour l'analyse de la cache et c'est comme l'image du tas de l'app. Chaque développeur doit faire face à un défi à analyser et comprendre l'utilisation de la RAM dans l'application et en l'optimisant. Après avoir relâché les objets inutilisés de l'application, l'application peut conserver des espaces de rangement plus que nécessaire.

Eclipse Memory analyzer (MAT) est le meilleur outil pour analyser l'utilisation du stockage des applications. Cet outil est utile pour le suivi des fuites de mémoire et si vous offre l'occasion d'analyser la demande à intervalle régulier. MAT offre un instantané de l'utilisation de la mémoire pendant une certaine période. N'oubliez pas, MAT ne donne pas la raison de la création d'objet, ou il ne peut pas montrer les objets que le garbage collector a recueilli. Toutefois, vous pouvez trouver les fuites immédiatement et trouver des moyens pour l'arrêter.

Outil DDMS est utilisé pour détecter l'affectation du stockage, et ce sera disponible dans le répertoire du SDK Android. Cet outil affiche également les fuites dans l'application Android. En outre, il affiche les informations sur les objets qui ne sont pas de garbage collecté et le stockage de données occupé par les objets. Si vous placez un lien de référence dans le contexte, conduira à la fuite de beaucoup de stockage et il s'appelle la fuite de mémoire connexes de contexte. Cela peut être évité de deux façons. Première solution pour cela est d'éviter de libérer le cadre à l'extérieur de la limite de l'app. À l'aide du contexte d'application est une autre solution, par la présente, le cadre conservera aussi longtemps que l'application réside.