Android---optimización del rendimiento de la memoria

paliza de memoria

  \bala El jitter de la memoria es causado por una gran cantidad de objetos que entran y salen del área naciente en un corto período de tiempo . La memoria fluctúa de mayor a menor, con una tendencia a subir y bajar rápidamente en un corto período de tiempo, y el gráfico de análisis es dentado .

  \bala Va acompañado de GC frecuente, que ocupará una gran cantidad de subprocesos de interfaz de usuario y recursos de CPU, lo que provocará que la aplicación general se congele (porque el GC detendrá el subproceso de trabajo al recuperar memoria) e incluso la posibilidad de OOM (motivo : cree una gran cantidad de objetos en la nueva generación espacio de la generación anterior .

pérdida de memoria

  \balaLa memoria de almacenamiento  dinámico que se ha asignado dinámicamente en el programa no se libera o el programa no puede liberarla por alguna razón , lo que resulta en una pérdida de memoria del sistema.

Juzgar la supervivencia del objeto --- análisis de accesibilidad

Si un objeto es accesible desde la raíz , no se recopilará; si no es accesible desde la raíz , se recopilará.  La fuga de memoria es que un objeto satisface la accesibilidad de la raíz, pero no está disponible.

Un caso típico de fuga de memoria : una variable estática se refiere a una Actividad, y esta variable estática es global, siempre que el proceso de la aplicación no se elimine, esta variable estática siempre existirá. Y la actividad ha ejecutado el ciclo de vida onDestory(), pero la variable estática aplica la actividad y se puede acceder a la raíz, entonces la actividad tiene una pérdida de memoria.

Herramienta de análisis de memoria

1. Perfilador de Android

Memory Profiler es un componente de Android Profiler que nos ayuda a identificar fugas de memoria y problemas de memoria que pueden hacer que las aplicaciones se bloqueen o incluso se bloqueen. Muestra un gráfico en tiempo real del uso de la memoria de la aplicación, lo que nos permite

  \bala captura de volcado de pila

  \bala hacer cumplir la recolección de basura

  \bala pista de asignación de memoria

2. MAT (herramienta de análisis de memoria)

Para la comparación de instantáneas de memoria, con el fin de descubrir los objetos de las fugas de memoria de manera más eficiente, generalmente se obtienen dos archivos de volcado de almacenamiento dinámico (volcar uno primero y luego volcar otro después de un tiempo).Los resultados de la comparación se pueden ubicar fácilmente.

Caso de optimización

El empalme de cadenas creará un nuevo objeto de cadena cada vez, así que use StringBuilder para completarlo tanto como sea posible.StringBuilder opera internamente una matriz de caracteres para completar.

Supongo que te gusta

Origin blog.csdn.net/qq_44950283/article/details/130092318
Recomendado
Clasificación