2 votes

Android visualise l'empreinte mémoire

L'un des principaux défis lors de la création d'applications Android est de gérer l'empreinte mémoire de l'application de manière limitée afin d'éviter les pannes.

Quelle est la capacité de mémoire de chacun des éléments suivants View dans Android occupy (indépendamment du contenu) ?

  • TextView
  • ImageView
  • WebView
  • VideoView
  • TextureView
  • d'autres couramment utilisés

0voto

lelloman Points 1088

Il y a en fait un moyen très simple de le savoir, dans Android Studio (2.2.3 actuellement) ouvrez la fenêtre Android Monitor (n. 6) et dans celle-ci sélectionnez l'onglet "Monitors". Il devrait y avoir 4 sections (Mémoire, CPU, Réseau et GPU), et dans la section Mémoire vous devriez voir quelques icônes, celle à droite du camion poubelle devrait être "Dump Java Heap". En cliquant sur cette icône, vous obtiendrez un instantané de la mémoire utilisée par votre application, ce qui vous permettra de l'inspecter objet par objet et de voir quelle quantité de mémoire est utilisée par chacun d'entre eux.

-1voto

Sakchham Sharma Points 1149

La mémoire allouée à chacun d'entre eux peut varier considérablement en fonction du contenu. Par exemple, l'empreinte mémoire d'une WebView affichant la page de recherche Google est loin d'être comparable à celle d'un jeu graphique HTML5 Canvas.
En ce qui concerne l'empreinte mémoire d'une vue, ce n'est pas la quantité de mémoire qui lui est allouée qui importe, mais plutôt la manière dont vous gérez vos vues.
Par exemple, les vues conservent une référence à l'activité dans laquelle elles ont été créées, de sorte qu'en conservant une vue référencée même après que son activité a été détruite/recréée pour des changements de configuration (supposons), l'activité précédente resterait en mémoire, ce qui provoquerait une fuite de mémoire.
faire de la veille DO NOT LEAK VIEWS (Android Performance Patterns Saison 3 ep6)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X