iphone - vaciar - Instrumentos ObjectAlloc: Explicación de bytes en vivo y bytes totales
memoria mac (2)
Estoy usando la herramienta ObjectAlloc de Instument para tratar de entender qué hace mi aplicación (iPhone) y cuándo y dónde lo está haciendo.
Realmente me gustaría una explicación básica de estas estadísticas:
- Bytes en vivo
Vivo
Transitorio
- Bytes generales
Cuando estoy tratando de calcular cuánta memoria está usando mi aplicación, ¿debo mirar Bytes en vivo o Bytes generales? ¿Esto incluye la memoria filtrada? ¿Qué son los objetos transitorios?
Gracias
Explicación de estadísticas de Apple Docs. Enlace al documento
ObjectAlloc
seguimiento de todas las asignaciones y desasignaciones de memoria a lo largo del tiempo en que se ejecuta su programa.
Los Living bytes, or Net bytes
es la cantidad de memoria que usa su aplicación en el momento en que selecciona en la línea de tiempo. Eso incluirá la memoria filtrada, ya que la memoria filtrada nunca se desasigna.
#Living
es cuántas asignaciones de cierto tamaño / tipo de objeto sucedieron (y todavía se asignan). Esto es muy útil cuando busca fugas.
Por ejemplo, si realiza una acción de forma repetitiva (como salir de un controlador de vista modal) y ve que #Living
de un objeto crece en la misma cantidad cada vez, entonces probablemente esté filtrando esos objetos. Luego puede confirmar haciendo una búsqueda y viendo la línea exacta de código que está asignando los objetos, e incluso ver el índice de tiempo en que se creó cada uno.
Overall bytes
incluyen la memoria que se ha liberado. Es útil rastrear ese número para fines de optimización del rendimiento, pero no si solo está tratando de ver su huella de memoria actual o buscar fugas.