es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué veo EGL_emulation app_time_stats en el registro cuando se ejecuta en un emulador de Android 12?

Cuando pruebo una aplicación Flutter en un emulador que utiliza Android 12, veo líneas como estas en los registros a intervalos regulares (aproximadamente cada segundo):

D/EGL_emulation(32175): app_time_stats: avg=312.93ms min=133.69ms max=608.57ms count=4

¿Qué significan y cómo puedo desactivarlas? Nunca las he visto en emuladores de Android 11, así que supongo que tiene algo que ver con Android 12.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Comprendiendo el mensaje del Logcat

    El mensaje del logcat indica que una biblioteca de emulación EGL (EGL_emulation) está rastreando e informando las estadísticas relacionadas con el tiempo que la aplicación pasa en el renderizado de gráficos utilizando OpenGL ES. Las estadísticas incluyen el tiempo promedio (avg), el tiempo mínimo (min), el tiempo máximo (max) y el número de frames renderizados (count) durante una duración específica.

    Por qué se muestra en los emuladores de Android 12

    Es probable que el mensaje del logcat se muestre solo en los emuladores de Android 12 porque Google ha realizado algunos cambios en el pipeline gráfico de Android 12, lo cual puede afectar el rendimiento de las aplicaciones que utilizan OpenGL ES. Para ayudar a los desarrolladores a identificar y optimizar dichas aplicaciones, Google ha introducido esta característica en Android 12 para permitir el rastreo de las estadísticas de tiempo de las aplicaciones.

    Desactivando el mensaje del Logcat

    Para desactivar el mensaje del logcat, puedes utilizar el comando logcat con la ayuda de la herramienta adb (Android Debug Bridge). La sintaxis del comando sería la siguiente:

    adb logcat -s '^EGL_emulation'
    

    Esto filtrará todos los mensajes del logcat que coincidan con el patrón EGL_emulation. Si deseas desactivar el filtro, simplemente presiona Ctrl-C para salir de la sesión de logcat.

    Alternativamente, también puedes deshabilitar por completo la función de rastreo de estadísticas estableciendo la siguiente bandera en la clase Application de tu aplicación o en el método onCreate() de tu actividad:

    System.setProperty("debug.egl.app_time_stats", "false");
    

    Esto desactivará el rastreo de estadísticas de tiempo de la aplicación en todos los dispositivos que ejecuten Android 12, independientemente de si utilizan un emulador o un dispositivo físico.

    Ten en cuenta que deshabilitar esta función puede afectar tu capacidad para optimizar el rendimiento de tu aplicación en Android 12, así que utilízala con precaución.

Comments are closed.