iOS SDK Perfil del tiempo con instrumentos

Instruments es una gran herramienta provista por Apple para permitir a los desarrolladores perfeccionar sus aplicaciones para obtener el mejor rendimiento. Si bien es increíblemente útil, muchos desarrolladores evitan la aplicación por temor a no saber todos los entresijos de su funcionalidad. Hoy, tengo algunos consejos rápidos que puede utilizar en algunos casos de uso de Instrumentos muy básicos. Vamos a bucear en!


El perfilador del tiempo

Al navegar por la aplicación, es posible que note algunos retrasos que le gustaría reducir para lograr la mejor experiencia de usuario. Si quieres investigar dónde está gastando el tiempo el sistema operativo mientras usas una aplicación, entonces Time Profiler es para ti. El perfilador de tiempo es el lugar donde la mayoría de los desarrolladores obtienen el valor más rápido de los instrumentos, por lo que vamos a centrar nuestros consejos en esta herramienta, aunque muchos de ellos también se aplican a las otras herramientas de instrumentos. Para comenzar, abrirás Instruments y serás recibido con este menú:

Como puede imaginar, vamos a seleccionar el Perfilador de tiempo. Para que esto le brinde valiosos comentarios, debería estar ejecutando su aplicación en su dispositivo. Con la aplicación en ejecución, debe hacer clic en el campo que dice "Todos los procesos" en la esquina superior derecha. A continuación, seleccione la aplicación específica que desea Time Profile.

Una vez hecho esto, podemos comenzar nuestras pruebas de perfil de tiempo presionando el botón de grabación. Esto iniciará la aplicación en el teléfono y comenzará a perfilar el tiempo. Toca alrededor de tu aplicación y úsala, verás una creciente pila de clases, símbolos y direcciones de memoria. Un poco difícil de hacer cabezas o colas de, ¿eh? Vamos a aclarar un poco más estos datos..


Consejo 1: Configurar las preferencias del generador de perfiles

Va a querer cambiar algunas de las configuraciones del "Árbol de llamadas" en el lado izquierdo de los instrumentos. Esto hará que los instrumentos lean mucho más claramente para leer.

Primero debe desactivar la inversión del árbol de llamadas y luego pedirle que muestre únicamente el objetivo C. Para la mayoría de los proyectos, esta será la vista más productiva de sus datos. Una vez hecho esto, Instruments le presentará un vistazo de arriba abajo a las diferentes operaciones que ocurren dentro de su aplicación, junto con un porcentaje del tiempo dedicado a manejar cada proceso. Si busca acelerar su aplicación, puede seguir las marcas de alto porcentaje hasta sus clases específicas. Para mi prueba, puedo ver que la mayor parte de mi tiempo se gasta en mis métodos SignatureViewCell touchesMoved: withEvent:. Si quisiera encontrar lugares para optimizar, ese sería el mejor lugar para buscar. Hacer doble clic en una línea incluso lo llevará al código específico al que hace referencia:

Entonces, ahora sabemos cómo ver los informes de Time Profiler y aprender de ellos. Pero, ¿cómo podemos obtener más información sobre cuándo se producen ciertas operaciones durante nuestra prueba? Bueno, Instruments le permite "marcar" mientras toca su dispositivo para marcar cuándo realizó ciertas actividades.


Consejo 2: Agregar indicadores de línea de tiempo

Mientras utiliza su aplicación y Time Profiler está grabando, puede mantener la opción y hacer clic en las marcas justo encima de la línea de tiempo. Esto agregará marcas de usuario donde puede anotar las acciones que estaba realizando en ese momento durante la grabación. Esto será útil cuando intente concentrarse en una transición específica, animación u otra operación en tiempo de ejecución.

Así que todo esto es genial, pero ¿qué hay de centrarse en una pequeña sección de toda esta ejecución? Si quisiera enfocarme en una sola animación, sería difícil lograr que los instrumentos se centren en eso. Afortunadamente esta funcionalidad también se proporciona.


Consejo 3: Configuración de una ventana de enfoque

Instruments le permite concentrarse en ciertos periodos de tiempo u operaciones para obtener informes de tiempo de mayor resolución. Si desea "hacer zoom" en una operación específica, puede hacer clic en la flecha que está junto a ella, que cambiará los porcentajes asociados con las operaciones para que se basen solo en esa operación principal y su secundaria. Esto es realmente útil cuando se enfoca en la funcionalidad de un solo controlador de vista. La otra forma de enfocarte es seleccionando una determinada ventana de tiempo que te gustaría investigar. Esto se logra manteniendo la opción sobre la línea de tiempo del perfilador de tiempo y haciendo clic y arrastrando el área de interés. Esto filtrará el árbol de llamadas para mostrar solo las operaciones durante esa ventana de tiempo. Esto, junto con las banderas de usuario, puede ayudarlo a llegar al corazón de un problema muy rápidamente..