Las Novedades más Destacadas que trae Android Studio Dolphin – Parte 2 (Final)

7 minuto(s)

En la parte anteiror llamada Las Novedades más Destacadas que trae Android Studio Dolphin – Parte 1, pudimos ver varias novedades que como en otras versiones, son características pensadas en mejorar la productividad del desarrollador de aplicaciones móviles Android. Nos habiamos quedado en la sección de novedades en el Logcat y en este segunda parte y última, te compartiremos el último grupo de novedades que viene en esta nueva versión de Android Studio, vamos con ello.

Partes

Antes de continuar te invito a leer los siguientes artículos:

Asimismo, te invito a escuchar el Podcast: “Herramientas Online Para el Trabajo en Equipo” y “Ventajas y Desventajas de Usar 2 o Más Monitores Para un Desarrollador” (Anchor Podcast): 

Spotify: Sound Cloud: Apple Podcasts Anchor Podcasts

Bien ahora continuemos con el Post: Las Novedades más Destacadas que trae Android Studio Dolphin – Parte 2 (Final). 

Nueva búsqueda de pares-clave

En la versión anterior de Logcat, existía la opción de usar la búsqueda de strings (compatible con expresiones regulares) o crear un filtro nuevo mediante la propagación de varios campos con la UI de Logcat. La primera opción hacia que la búsqueda fuera más compleja, y la segunda opción dificultaba el uso compartido y la configuración de consultas. Para simplificar la experiencia, ahora presentamos las búsquedas de pares clave-valor directamente desde el campo de búsqueda principal.

Mediante este nuevo sistema de consultas se mejora la precisión de lo que deseas consultar, sin depender de expresiones regulares, y la capacidad de recuperar consultas pasadas del historial y compartir esas consultas con otros usuarios. Además, tienes la opción de usar regex y también excluir registros basados en pares clave-valor. Aquí hay algunos ejemplos de cómo usar el nuevo sistema de consultas, pero también puedes comenzar a escribir en el campo de consulta para ver sugerencias:

  • PID del proyecto de app local: package:mine
  • Valores específicos: 
    • package:<package-ID>
    • tag:<tag>
    • level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
  • Para excluir un valor específico, ingresa antes de la clave:
    • -tag:<exclude-tag>
  • Para usar expresiones regulares con una clave determinada, coloca ~ después de la clave:
    • tag~:<regular-expression-tag>
    • Puedes combinar con la etiqueta de exclusión: -tag~:<exclude-regular-expression-tag>

También puedes ver un historial de consultas si haces clic en en el campo de consulta y las seleccionas en el menú desplegable. Si deseas marcar una consulta para que permanezca en la parte superior de la lista en todos tus proyectos de Studio, haz clic en  al final del campo de consulta.

Seguimiento de los registros de fallas o reinicios de la app

Logcat ahora facilita el seguimiento de los registros de tu app durante las fallas y reinicios de la app, de modo que no te pierdas registros importantes de estos eventos. Cuando Logcat detecte que el proceso de tu app se detuvo y reinició, verás un mensaje en el resultado, como PROCESS ENDED y PROCESS STARTED, tal como se muestra a continuación:

Dispositivos Administrados por Gradle

Con el fin de mejorar la coherencia, el rendimiento y la confiabilidad cuando se usan dispositivos virtuales de Android para tus pruebas de instrumentación automatizadas, Android Studio presenta los dispositivos administrados por Gradle. Esta función, disponible para el nivel de API 27 y superiores, te permite configurar dispositivos de prueba virtuales en los archivos Gradle de tu proyecto. El sistema de compilación usa las configuraciones para administrar por completo (es decir, crear, implementar y eliminar) esos dispositivos al ejecutar tus pruebas automatizadas.

Esta función otorga visibilidad a Gradle no solo de las pruebas que estás ejecutando, sino también del ciclo de vida de los dispositivos, lo que mejora la calidad de tu experiencia con las pruebas de las siguientes maneras:

  • Controla problemas relacionados con el dispositivo para garantizar que se ejecuten las pruebas.
  • Usa instantáneas del emulador para mejorar el tiempo de inicio y el uso de memoria del dispositivo, y para restablecer los dispositivos a un estado limpio entre las pruebas.
  • Almacena en caché los resultados de la prueba y vuelve a ejecutar solo las pruebas que puedan proporcionar resultados diferentes.
  • Proporciona un entorno coherente para ejecutar tus pruebas entre ejecuciones locales y remotas.

Asimismo, los dispositivos administrados por Gradle presentan un nuevo tipo de dispositivos emuladores, llamados dispositivos de prueba automatizados (ATD), que están optimizados para mejorar el rendimiento cuando se ejecutan las pruebas de instrumentación. Junto con la compatibilidad con la fragmentación de pruebas, puedes experimentar con la división de tu paquete de pruebas en varias instancias de ATD para reducir el tiempo de ejecución general.

Puedes obtener más información sobre dispositivos administrados por Gradle y sus funciones asociadas, consulta Ajusta tus pruebas con dispositivos administrados por Gradle.

Compatibilidad con R8 Mediante Archivos de Asignación Basados en Desplazamientos de Instrucciones DEX

Si se optimiza la información de línea, R8 ahora permite codificar la información en objetos de información de depuración compartidos con tablas de líneas basadas en desplazamientos de instrucciones. Esto reduce de forma sustancial la sobrecarga de la información de línea. El efecto es que las líneas en los métodos ya no son consecutivas, sino que pueden saltar a intervalos según el tamaño de las instrucciones. Ten en cuenta que algunas herramientas no incluyen esta codificación compartida.

Asimismo, las VMs de Android a partir de O (nivel de API 26) admiten desplazamientos de instrucciones de impresión en seguimientos de pila si el método no tiene información de número de línea. Cuando compilas con minSdk 26 o versiones posteriores, sin información del archivo de rigen, R8 quita por completo la información de número de línea.

Los Lambdas sin Estado ya no se Procesan en Expansión de Sintaxis Como Singletons

Las funciones lambdas sin estado, ya no se asignan como singleton cuando se aplica la expansión de sintaxis. La representación como singleton agrega sobrecarga del tamaño de código debido al campo adicional y al inicializador de clase, además de la sobrecarga de inicio, debido a la inicialización de la clase estática.

imagen: stackoverflow.com

Las lambdas sin estado ahora se asignan en sitios de uso de la misma manera que las lambdas con estado (lambdas con capturas).

R8 Evita Demora en la Verificación en los Entornos de Ejecución de Android

Puedes eliminar los problemas de rendimiento en los entornos de ejecución de Android (Dalvik y ART), R8 (no D8) ahora introduce stubs de biblioteca y llamadas de contorno a métodos de librería para clases de librería y métodos que pueden no existir en el entorno de ejecución. De esta manera, se eliminan muchos problemas de verificación y se mejora el rendimiento del entorno de ejecución.

Esta función siempre está habilitada.

Compatibilidad con las APIs de JDK-11 con la Expansión de Sintaxis de APIs de Java 8 y Versiones Posteriores

La dependencia coreLibraryDesugaring, ahora admite una librería de implementación basada en JDK-11.

Consulta el registro de cambios desugar:jdk_libs para obtener más información.

Compatibilidad del Complemento de Android Para Gradle y Android Studio

El sistema de compilación de Android Studio se basa en Gradle, y el complemento de Android para Gradle incorpora varias funciones específicas para compilar apps para Android. En la siguiente tabla, se muestra qué versión del complemento de Android para Gradle se requiere en cada versión de Android Studio.

Si el proyecto no es compatible con una versión específica de Android Studio, puedes abrir y actualizar el proyecto con una versión anterior de Android Studio.

Versión de Android Studio Versión de complemento requerida
Arctic Fox | 2020.3.1 3.1-7.0
Bumblebee | 2021.1.1 3.2-7.1
Chipmunk | 2021.2.1 3.2-7.2
Dolphin | 2021.3.1 3.2-7.3
Electric Eel | 2022.1.1 3.2-7.4
Flamingo | 2022.2.1 3.2-8.0

A fin de conocer las novedades del complemento de Android para Gradle, consulta las notas de la versión del complemento de Android para Gradle.

Bien, hasta aquí este Post con las novedades que trae Android Studio Dolphin, en las siguientes versiones y subversiones, se irán añadiendo nuevas herramientas, características y novedades a Android Studio.

Nos vemos en un siguiente Post con nuevas novedades de Android Studio.

Nota(s)

  • Algunas opciones y paneles pueden dejar de existir o continuar en futuras versiones de Android Studio, esto no depende de nosotros si no de los Desarrolladores que dan soporte a estas herramientas en Android Studio.
  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.