Android --- causes courantes d'OOM

Table des matières

Mémoire OOM insuffisante

La mémoire maximale disponible pour une seule application

Causes courantes de l'OOM

Surveillance en temps réel de la mémoire

Mémoire OOM insuffisante

La mémoire maximale disponible pour une seule application

\balle dalvik.vm.heapstartsize , qui représente la taille initiale de l'allocation de tas.

\balle dalvik.vm.heapgrowthlimit , qui représente une limite de mémoire de processus unique.

\balle dalvik.vm.heapsize , la mémoire maximale disponible pour un seul processus.

Lorsque heapgrowthlimit est défini , sa valeur est utilisée pour limiter la valeur de la mémoire d'un seul processus. Généralement,  la valeur de taille de tas sera supérieure à  la valeur de limite de croissance de tas. Lorsque  la valeur de heapgrowthlimit n'est pas suffisante, nous pouvons ajouter   "android:largeHeap=true" dans le fichier manifeste (AndroidManifest.xml) pour utiliser la valeur de heapsize.

Causes courantes de l'OOM

1. Charger de grandes images

2. Fuite de mémoire

système d'exception java

Surveillance en temps réel de la mémoire

JPDA

\balle Le système de débogage de la plate-forme Java JPDA (Java PlatformDebugger Architecture), qui est un ensemble d'interfaces spécialement fournies par la machine virtuelle Java pour le débogage et la surveillance de la machine virtuelle .

\balle JVMTI est l'interface exposée par la JVM, et JDI est le client qui implémente le protocole de communication JDWP, à travers lequel le débogueur communique avec le programme débogué dans la JVM.

 Fonctionnalités importantes de JVMTI

\balle redéfinir la classe

\balle Suivre l'allocation d'objets et le processus de récupération de place

\balle Suivez l'arborescence de référence de l'objet et parcourez tous les objets du tas

\balle Détecter la pile d'appels Java

\balle suspendre (et reprendre) tous les threads

TU ES

ART (Exécution Android). Dans Android 8.0 et versions ultérieures, l'interface ART Tool (ART TI ) fournit des informations architecturales internes d'exécution et permet aux séparateurs et aux débogueurs d'affecter le comportement d'exécution des applications, qui peuvent être utilisées pour obtenir un outil de performance de pointe .

Je suppose que tu aimes

Origine blog.csdn.net/qq_44950283/article/details/130145586
conseillé
Classement