Android Studio 3.3 (enero de 2019)

Android Studio 3.3 es una actualización importante que incluye una variedad de funciones y mejoras nuevas.

3.3.2 (marzo de 2019)

Esta actualización menor incluye diversas correcciones de errores y mejoras de rendimiento. Para ver una lista de las correcciones de errores más importantes, consulta la publicación relacionada en el blog de actualizaciones de versiones.

3.3.1 (febrero de 2019)

Esta actualización menor incluye diversas correcciones de errores y mejoras de rendimiento.

IntelliJ IDEA 2018.2.2

Se actualizó el IDE principal de Android Studio con mejoras de IntelliJ IDEA mediante la versión 2018.2.2.

Actualizaciones del complemento de Android para Gradle

Si quieres obtener información sobre las novedades del complemento de Android para Gradle, consulta las notas de la versión.

El editor de navegación permite visualizar y compilar la navegación con rapidez en tu app mediante el componente de arquitectura de Navigation.

Para obtener más información, consulta Cómo implementar navegaciones con el componente de arquitectura de Navigation.

Cómo borrar directorios de Android Studio sin usar

Cuando ejecutas una versión principal de Android Studio por primera vez, esta busca directorios que contengan cachés, parámetros de configuración, índices y registros de versiones de Android Studio de las que no se pueda encontrar la instalación correspondiente. En el cuadro de diálogo Delete Unused Android Studio Directories, se muestran ubicaciones, tamaños y horas de última modificación de estos directorios sin usar, y, además, se ofrece la opción de borrarlos.

Los directorios que Android Studio tiene en cuenta para su eliminación son los siguientes:

  • Linux: ~/.AndroidStudio[Preview]X.Y
  • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
  • Windows: %USER%.AndroidStudio[Preview]X.Y

Mejoras de lint

Cuando se invoca lint desde Gradle, funciona mucho más rápido. Se prevé un rendimiento cuatro veces superior de lint en los proyectos más grandes.

Asistente Create New Project

El asistente Create New Project tiene un nuevo aspecto, además de actualizaciones que ayudan a simplificar la creación de proyectos de Android Studio nuevos.

Para obtener más información, consulta Cómo crear un proyecto.

Actualizaciones del generador de perfiles

Android Studio 3.3 incluye actualizaciones para varios de los generadores de perfiles individuales.

Mejor rendimiento

Sobre la base de los comentarios de los usuarios, se mejoró ampliamente el rendimiento de renderización cuando se usan los generadores de perfiles. Sigue enviando comentarios, en especial, si observas problemas de rendimiento.

Opciones de seguimiento de la asignación de memoria del generador de perfiles

Para mejorar el rendimiento de la app durante la generación de perfiles, el Generador de perfiles de memoria ahora muestra, de forma predeterminada, las asignaciones de memoria periódicamente. Si lo deseas, puedes cambiar este comportamiento en el menú desplegable Allocation Tracking cuando realices pruebas en dispositivos con Android 8.0 (nivel de API 26) o versiones posteriores.

En el menú desplegable Allocation Tracking, puedes elegir uno de los siguientes modos:

  • Full: Captura todas las asignaciones de memoria de objetos. Ten en cuenta que, si tu app asigna una gran cantidad de objetos, es posible que se produzcan importantes problemas de rendimiento durante la generación de perfiles.

  • Sampled: captura una muestra periódica de las asignaciones de memoria de objetos. Este es el comportamiento predeterminado y tiene menos impacto en el rendimiento de la app durante la generación de perfiles. Puedes observar algunos problemas de rendimiento con apps que asignen muchos objetos en poco tiempo.

  • Off: desactiva la asignación de memoria. Si aún no está seleccionado, este modo se habilita automáticamente mientras se registra la actividad de una CPU y vuelve a la configuración anterior cuando finaliza el registro. Puedes cambiar este comportamiento en el diálogo de configuración de registro de la CPU.

    El seguimiento afecta a los objetos Java y a las referencias JNI.

Cómo inspeccionar datos de renderización de fotogramas

En el Generador de perfiles de CPU, puedes inspeccionar cuánto tiempo le toma a tu app de Java renderizar cada fotograma del subproceso de IU y de RenderThread. Estos datos pueden resultar útiles a fin de investigar los cuellos de botella que causan el bloqueo de la IU y una baja velocidad de fotogramas. Por ejemplo, cada fotograma que tarda más de los 16 ms necesarios para mantener una velocidad de fotogramas fluida se muestra en rojo.

Si deseas ver los datos de renderización de fotogramas, registra un seguimiento utilizando la configuración Trace System Calls. Después de registrar el seguimiento, busca información sobre cada fotograma debajo de la sección FRAMES, como se muestra a continuación.

Si deseas obtener más información para investigar y solucionar problemas de velocidad de fotogramas, consulta Renderización lenta.

Fragmentos en el cronograma del evento

El cronograma del evento ahora muestra cuándo se adjuntan y separan fragmentos. Además, cuando colocas el cursor sobre un fragmento, un cuadro de información te muestra su estado.

Cómo visualizar texto con formato en las cargas útiles de conexión del Generador de perfiles de red

Anteriormente, en el Generador de perfiles de red, solo era posible ver texto sin formato de las cargas útiles de conexión. Ahora, Android Studio 3.3 formatea ciertos tipos de texto de forma predeterminada, como JSON, XML y HTML. En las pestañas Respuesta y Request, haz clic en el vínculo Ver datos analizados para mostrar el texto con formato y en View Source para mostrar el que no lo tiene.

Si deseas obtener más información, consulta Cómo inspeccionar el tráfico de red con el Generador de perfiles de red.

Descarga automática de componentes del SDK

Cuando necesites un componente del SDK de las plataformas SDK, NDK o CMake para tu proyecto, Gradle ahora intenta descargar automáticamente los paquetes necesarios, siempre y cuando hayas aceptado previamente los contratos de licencia relacionados usando SDK Manager.

Si deseas obtener más información, consulta Cómo descargar automáticamente los paquetes que faltan con Gradle.

Compatibilidad con Clang-Tidy

Android Studio ahora es compatible con análisis de código estático mediante Clang-Tidy para proyectos que incluyen código nativo. Si quieres habilitar la compatibilidad con Clang-Tidy, actualiza tu NDK a la versión r18 o una posterior.

Luego, puedes habilitar o volver a habilitar las inspecciones abriendo el diálogo Settings o Preferences y navegando a Editor > Inspections > C/C++ > General > Clang-Tidy. Cuando se selecciona esta inspección en el cuadro de diálogo Settings o Preferences, también puedes ver la lista de verificaciones de Clang-Tidy que están habilitadas e inhabilitadas en la sección Option del panel de la derecha. Para habilitar verificaciones adicionales, agrégalas a la lista y haz clic en Apply.

Si deseas configurar Clang-Tidy con opciones adicionales, haz clic en Configure Clang-Tidy Checks Options y agrégalas al diálogo que aparezca.

Eliminación de opciones para la personalización de C++

Se quitaron las siguientes opciones del diálogo de Customize C++ Support:

  • Compatibilidad con excepciones (-fexceptions)
  • Compatibilidad con información del tipo de tiempo de ejecución (-ftti)

Los comportamientos correspondientes están habilitados para todos los proyectos que se crean con Android Studio.

CMake versión 3.10.2

La versión 3.10.2 de CMake ahora se incluye con SDK Manager. Ten en cuenta que Gradle todavía usa la versión 3.6.0 de forma predeterminada.

Si quieres especificar una versión de CMake para que use Gradle, agrega lo siguiente al archivo build.gradle de tu módulo:

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    
  

Si deseas obtener más información a fin de configurar CMake en build.gradle, consulta Cómo configurar Gradle manualmente.

Nueva sintaxis "+" para especificar versiones mínimas de CMake

Cuando se especifica una versión de CMake en el archivo build.gradle de tu módulo principal, ahora puedes agregar un "+" de modo que coincida con el comportamiento del comando cmake_minimum_required() de CMake.

Precaución: Se desaconseja el uso de la sintaxis "+" con otras dependencias de compilación, ya que las dependencias dinámicas pueden generar actualizaciones inesperadas de versiones y dificultades a la hora de resolver las diferencias de versión.

Los paquetes Android App Bundle ahora son compatibles con Apps instantáneas

Ahora, Android Studio permite compilar paquetes Android App Bundle totalmente compatibles con Google Play Instant. En otras palabras, ahora puedes compilar e implementar apps instaladas y experiencias instantáneas desde un solo proyecto de Android Studio e incluirlas en un solo paquete Android App Bundle.

Si estás creando un nuevo proyecto de Android Studio mediante el diálogo Create New Project, asegúrate de marcar la casilla junto a Configure your project > This project will support instant apps. Luego, Android Studio crea un nuevo proyecto de app como lo haría con normalidad, pero incluye las siguientes propiedades en el manifiesto a fin de agregar compatibilidad con apps instantáneas al módulo básico de la app:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  

Después, puedes crear un módulo de funciones habilitadas instantáneamente. Para ello, selecciona File > New > New Module en la barra de menú y elige Instant Dynamic Feature Module en el diálogo Create New Module. Ten en cuenta que crear este módulo también habilita instantáneamente el módulo básico de la app.

Si deseas implementar tu app en un dispositivo local como experiencia instantánea, edita la configuración de ejecución y marca la casilla junto a General > Deploy as instant app.

Sincronización de proyectos con una sola variante

Sincronizar tu proyecto con la configuración de compilación es un paso importante para que Android Studio pueda comprender la manera en que está estructurado tu proyecto. Sin embargo, en el caso de proyectos grandes, el proceso puede demorar mucho. Si tu proyecto usa múltiples variantes de compilación, ahora puedes optimizar las sincronizaciones del proyecto limitándolas solo a la variante que hayas seleccionado.

Para habilitar esta optimización, debes usar Android Studio 3.3 o una versión posterior con el complemento de Android para Gradle 3.3.0 o una versión posterior. Cuando cumples con esos requisitos, el IDE te solicita que habilites la optimización al momento de sincronizar el proyecto. La optimización también está habilitada de forma predeterminada en proyectos nuevos.

Para habilitarla manualmente, haz clic en File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle en Mac) y selecciona la casilla de verificación Only sync the active variant.

Nota: Por el momento, esta optimización admite proyectos que solo incluyen el lenguaje de programación Java. Si, por ejemplo, el IDE detecta código Kotlin o C++ en el proyecto, no habilitará automáticamente esta optimización, y tú no deberás hacerlo de forma manual.

Para obtener más información, consulta Cómo habilitar la sincronización de proyectos con una sola variante.

Cómo enviar comentarios rápidos

Si habilitaste la opción para compartir estadísticas de uso a fin de ayudar a mejorar Android Studio, verás estos dos íconos nuevos en la barra de estado, en la parte inferior de la ventana del IDE:

Haz clic en el ícono que mejor represente tu experiencia actual con el IDE. Cuando lo hagas, el IDE enviará estadísticas de uso que permitan al equipo de Android Studio comprender mejor tu opinión. En algunos casos, por ejemplo, cuando indiques que tuviste una experiencia negativa con el IDE, podrás proporcionar más comentarios.

Si aún no lo hiciste, puedes habilitar la opción de compartir estadísticas de uso. Para ello, abre el diálogo Settings (Preferences en Mac), navega hasta la opción Appearance & Behavior > System Settings > Data Sharing y marca Send usage statistics to Google.