Paso 1. Levante las asignaciones instrumento
- Elija la plantilla de perfiles para las asignaciones:
- en la interfaz principal Instrumentos , haga clic en Rastreador de VM, si está presente, y presione la tecla Suprimir ya que no necesitará ese instrumento en particular:
Al hacer clic en el botón más en la parte superior derecha, se puede añadir más instrumentos para diferentes tipos de pruebas, pero no se los cubre en este tutorial.
Paso 2. Configure sus ajustes de Instrumentos
Antes de ejecutar cualquier análisis, hay algunas cosas que hay que hacer. En primer lugar, debe conectar un dispositivo iOS que tenga su aplicación instalada. Debe ser un dispositivo físico porque el Simulador de iOS sigue siendo un simulador y puede no representar con precisión el uso de memoria en su aplicación o cómo una aplicación puede funcionar bajo la presión de la memoria.
Para escoger su destino, haga clic Mi PC cerca de la cima, se ciernen sobre el dispositivo y, a continuación, elija su aplicación desde el submenú:
A continuación, hay un panel donde puede modificar la configuración de los tipos de asignaciones que verá. Además de asegurarse de que la burbuja Creado & persistente esté marcada, no hay mucho que deba hacer de antemano.
Paso 3. Pulse registro para ejecutar el instrumento
Una vez que se pulsa el botón de grabación en la parte superior izquierda, su aplicación se pondrá en marcha en el dispositivo, e instrumentos comenzará a trazar tus asignaciones Todo lo que necesita hacer aquí es ejecutar su aplicación, centrándose en posibles áreas problemáticas para ver si asigna más memoria que desasigna. Esto podría significar hacer muchas tareas repetitivas, pero te agradecerás más tarde.
Debería ver algo como esto:
Recomiendo ejecutar a través de su aplicación una vez y llegar a un punto estable en la memoria para que tenga una buena base de referencia que hará que cualquier aumento notable. Cuando esté satisfecho de que tiene suficientes datos para probar, presione el botón de detener en la esquina superior izquierda.
Paso 4. Analizar
- La primera cosa que hago se establece mi rango de inspección para medir los bytes totales persistentes en mi línea de base. Ese número de bytes persistentes se encuentra justo debajo del resumen de asignación.
para la creación efectiva del rango de inspección, utilice la combinación de teclas Comando < para el rango de inspección izquierda y Comando> para el rango de inspección derecha. En nuestra aplicación, tenemos una referencia de aproximadamente 20 MB.
- Entonces, muevo el rango de inspección derecha a un punto en el que había corrido a través de la aplicación de nuevo y volvimos a nuestra raíz. Aquí, puedes ver que la memoria es más o menos la misma. Por lo tanto, al hacer esto unas cuantas veces más y al ver que su memoria vuelve a nuestra línea de base, puede suponer que no hay problemas importantes de memoria.
Hay diferentes maneras de analizar estos datos que no voy a cubrir aquí, pero ser conscientes de que hay todo un menú desplegable con las formas de ver y analizar sus datos.
Paso 5. generaciones Marcado
Si prefiere no hacer frente a la inspección de los rangos tanto, hay una característica llamada Generación Marcos. Hay un botón para ello en el panel derecho de los instrumentos.
Este botón marcar puntos en la línea de tiempo de instrumentos basados en donde la línea de inspección es. Lo hace con el fin de realizar un seguimiento de todas las asignaciones desde la marca anterior, o desde el principio si no hay otras marcas. Puede marcar las generaciones que está ejecutando el instrumento asignaciones o después de haber dejado la carrera, como en este ejemplo:
Paso 6. Comprobar el seguimiento de la pila
Lo último cubrir es mirar el rastro de la pila.Para esto, desea establecer su rango de inspección para resaltar todas las asignaciones, y luego mirar la vista de estadísticas, asegurándose de que la burbuja Creado & Persistente esté seleccionada en el panel derecho. En la vista de estadísticas, asegúrese de que Bytes persistentes esté ordenado de mayor a menor. Aquí hay muchas asignaciones, y puede ser difícil entender lo que está sucediendo, ya que muchas de ellas son asignaciones del sistema.
Profundizando
- Mira las mayores asignaciones y haga clic en la flecha hacia la derecha. Muchas veces habrá asignaciones dentro de las que hizo clic y muchas de ellas no tendrán ningún significado para usted.
- Al resaltar diferentes asignaciones después de hacer clic en una flecha, seguir buscando en el detalle ampliado en el panel derecho. Eventualmente, se encontrará con texto en negrita que conduce al código real en su proyecto, diciéndole cuál es el problema.
- Si hace doble clic en uno de los elementos en negrita en el seguimiento de la pila, que le llevará al código real (suponiendo que ejecutó las asignaciones en una aplicación que posee).
Hay un montón de cosas útiles acerca de este punto de vista, uno de los cuales las etiquetas en su mayoría de color amarillo en la derecha que muestra que sólo la cantidad de memoria cada llamada al método está tomando. Cada aplicación es diferente, por lo que usted, el desarrollador, debe decidir si el método resaltado es un problema, algo que puede optimizar o solo una parte inevitable de su aplicación.
En mi caso, esa variable UIColor es algo que es persistente y se utiliza en toda nuestra aplicación y, por lo tanto, es aceptable durante toda la vida de nuestra aplicación.
found here
Tenga en cuenta que en versiones recientes de OS X, esto es parte de los instrumentos. Esta es una excelente manera de encontrar fugas. –
¿Alguna vez esta herramienta puede estar equivocada? Dice que tengo una fuga, pero no puedo encontrarla en ningún lado. – locoboy
@ cfarm54 - Las probabilidades indican que no es ... – Moshe