Using LINT for Performance Tips (100 Days of Google Dev)

Using LINT for Performance Tips (100 Days of Google Dev)

Si bien normalmente me opongo alos juegos de palabras en los videos, no se puede negar que eltítulo de este video es muy bueno. Soy Colt McAnlis. Después de hacer algunaspreguntas en la comunidad en Google+ de Android Performance Patterns,nos dimos cuenta de que sería buena idea tratar una herramientamuy útil que es parte de Android Studio. Uno de los problemas másgrandes para mejorar el rendimiento de tus aplicaciones es que se tratade un proceso mayormente reactivo. Haces la aplicación,la distribuyes a los usuarios y, solo cuandocomienzan a quejarse al respecto, averiguas dóndeestán los problemas. Parece que seríamucho más fácil identificar losproblemas desde antes en lugar de esperar a quelleguen reseñas negativas. Históricamente, la cadenade herramientas de Android brindaba una herramienta llamada Lint,una herramienta de análisis de código estático que verifica los archivosfuente de tu proyecto de Android y detecta cualquiererror, además de posibles optimizaciones encuanto a correctitud, seguridad, rendimiento,usabilidad, accesibilidad e internacionalización. Por ejemplo, si estásasignando objetos dentro de la función onDraw,que como todos sabemos, puede generar demasiadomovimiento en la memoria. Lint puede detectar eso ypresentarte una linda advertencia para indicar la línea exactaen la que se produce el problema. Simplemente carga tusímbolo del sistema favorito, ejecuta algunos comandos,y Lint se encargará del resto. La buena noticia es que ahora estaútil herramienta viene integrada en forma predeterminada enAndroid Studio 1.0. Y tiene varias utilidades. Para empezar, siempre que quieras poneren marcha la compilación de una versión, Lint ejecutará unsubconjunto de verificaciones sobre tu código en compilación. En segundo lugar, sideseas una revisión más regular, puedes configurar Gradle para queejecute el conjunto completo de pruebas de Lint durante cualquier compilaciónaleatoria que pongas en marcha durante el día. En tercer lugar, si no quieres que seejecute Lint durante tus compilaciones puedes iniciar compilaciones manuales cuando lo desees. Solo para la presentación, veamos ahora ese tercer paso. Para ejecutar Lint sobre tucódigo dentro de Android Studio, abre tu proyecto yselecciona "Analyze", "Inspect Code" en el menú. Se iniciará Lint y tepresentará un útil conjunto de resultados queaparecen en una ventana en la parte inferior del IDE. Esta ventana que aparece abajotiene dos componentes principales. A la izquierda, aparece unagrupamiento jerárquico de diversos errores, advertenciasy posibles problemas. Y cuando seleccionas uno de losproblemas de ese panel izquierdo, el panel derecho temuestra detalles acerca de lo que significa ese problema,el número de línea que lo ocasiona, información acerca de la pruebay cómo podrías solucionar el problema. Tal vez notes que, alejecutar esta herramienta, Lint hace una enormecantidad de pruebas diagnósticas. Si deseas controlar eltsunami de información que Lint te presenta,puedes configurar un análisis que te interese abriendo"File", "Other Settings", "Default Settings", y luego seleccionando "Inspections". Con esto, verás la lista completa(realmente completa) de opciones de inspección de Lint. Para hacer que Lint busqueespecíficamente problemas de rendimiento, puedes realizar una búsqueda de"rendimiento" como palabra clave. Ahí puedes hacer clic para tener una mejor idea de quéverificaciones se están ejecutando y habilitarlas, deshabilitarlaso reasignar su prioridad para el rendimiento. Pero incluso conesa búsqueda, la cantidad de datosque aparece es enorme. Así que estas son las sugerenciaspersonales de Colt sobre qué verificaciones merecen tu atención. En primer lugar, asegúrate deque las asignaciones de memoria dentro del código deonDraw produzcan un error. Como hemos visto con losvideos de uso excesivo de memoria, esto puede ocasionarun problema rápidamente. Y vale la pena estar atentospara evitar problemas de este tipo en el futuro. Es buena idea estar atentos a"Layout Has Too Many Views" y "Layout Hierarchy Is Too Deep". Aunque, si tus usuarios están usandola aplicación en dispositivos modernos, puede ser suficiente que estosmensajes produzcan una advertencia. Por último, me gusta dejar que laverificación de "Overdraw" produzca solo una advertencia, a losumo, solo para estar atento a lo que cambió deuna compilación a otra. Pero recuerdaque, al fin y al cabo, estas son solo sugerencias quesurgen de los que el equipo de herramientas ha visto como problemas comunes. Es posible que tu código genere unmensaje por algún problema específico, pero si no afectarealmente tu velocidad de cuadros, no hace falta que tepreocupes al respecto. Así que ten eso enmente y no salgas corriendo a hacer cambios. Claro que si ejecutasla herramienta y encuentras una tonelada deproblemas de rendimiento, es recomendable que veas elresto del contenido de Android Performance Patternspara obtener sugerencias y trucos sobre cómo solucionar estos problemas. Por supuesto, no dudes ensumarte a nuestra comunidad en Google+ para obtener más informaciónsobre sugerencias y trucos de personas en el campo de batalla. Así que mantén la calma,perfila tu código y recuerda que el rendimiento importa.

Noticias relacionadas