Aplicación Debug Flutter

640? Wx_fmt = jpeg

Hay muchas herramientas y funciones para ayudar a depurar las aplicaciones de Flutter, algunas de las cuales se enumeran a continuación:

  • Las herramientas de desarrollo son un conjunto de herramientas de análisis y rendimiento que se ejecutan en el navegador.

  • Flutter inspector, un inspector de widgets proporcionado por las herramientas de desarrollo, también se puede usar directamente en Android Studio e IntelliJ (con la ayuda de los complementos de Flutter). El inspector puede mostrar visualmente el árbol de widgets, ver widgets individuales y sus valores de atributo, habilitar capas de rendimiento, etc.

1. Herramientas para desarrolladores

Para depurar y analizar aplicaciones, las herramientas de desarrollo pueden ser su primera opción. La herramienta para desarrolladores se ejecuta en el navegador y admite las siguientes funciones:

  • Depurador de código fuente

  • El inspector de widgets muestra el árbol de widgets visual, en el modo de "selección de widget", seleccione un widget en la aplicación y se ubicará directamente en el árbol de widgets.

  • Análisis de memoria

  • Vista de línea de tiempo, seguimiento de soporte, información de seguimiento de importación y exportación

  • Vista de registro

Si está ejecutando en modo de depuración o en modo de perfil, puede abrir las herramientas de desarrollador en su navegador para conectarse a su aplicación. Las herramientas de desarrollo no se pueden utilizar en aplicaciones compiladas en modo de lanzamiento porque se ha eliminado la información de depuración y análisis.

Si desea analizar la aplicación con herramientas de desarrollo, asegúrese de utilizar el modo de perfil. De lo contrario, el resultado principal del análisis serán las aserciones de depuración utilizadas para verificar los diversos invariantes en el marco (consulte las aserciones del modo de depuración).

640? Wx_fmt = gif

2. Establecer puntos de interrupción

3. Analizador de dardos

Si usa la línea de comando, puede usar el  flutter analyze código de verificación.

El analizador de Dart se basa en gran medida en las anotaciones de tipo que agrega al código para ayudar a rastrear problemas. Se recomienda que agregue anotaciones en varios lugares (evitar  var, parámetros sin tipo, literales de lista sin tipo, etc.), porque esta es la forma más rápida y menos dolorosa de rastrear problemas.

4. Registro

Otra herramienta de depuración útil es el registro. Configure el registro mediante la codificación y luego vea el resultado en la vista del registro o en la consola de la herramienta para desarrolladores.

5. Capa de aplicación de depuración

Flutter adopta una arquitectura en capas, que incluye widgets, capas de renderizado y dibujo. Para obtener más información y videos, consulte la arquitectura de Framework en la wiki de GitHub y el artículo de la comunidad The Layer Cake.

El inspector de widgets de Flutter proporciona una visualización del árbol de widgets. Si desea más detalles o volcados de texto detallados sobre wigets, jerarquías o árboles de renderizado, verifique la bandera de depuración de la página de la aplicación Flutter agregando el código de salida: Aplicación Parte de la capa.

6. Aserción del modo de depuración

Durante el proceso de desarrollo, se recomienda encarecidamente que utilice el modo de depuración de Flutter. Si está ejecutando con el icono de error de Android Studio o ejecutando en la línea de comandos  flutter run, el modo de depuración se utilizará de forma predeterminada. Algunas herramientas --enable-assets pueden admitir declaraciones de aserción a través  de indicadores de línea de comando.

En este modo, la declaración de aserción de Dart está activada y el marco de Flutter calculará los parámetros de cada declaración de aserción que se encuentre durante la ejecución y generará una excepción cuando el resultado sea falso. De esta manera, los desarrolladores pueden controlar la apertura o el cierre de la verificación invariante, y la correspondiente pérdida de rendimiento solo ocurrirá durante la depuración.

Cuando se infringe una invariante, se informará a la consola con información contextual para ayudar a rastrear la fuente del problema.

7. Animación de depuración

La forma más sencilla de depurar animaciones es ralentizarlas. El inspector Flutter proporciona un botón para ralentizar las animaciones (animaciones lentas), también puede ralentizar la animación en el código.

7.1 Medición del tiempo de inicio de la aplicación

Para recopilar información detallada sobre el tiempo que tarda en iniciarse una aplicación Flutter, puede flutter run utilizar las   opciones trace-startup y  en tiempo de ejecución  profile.

$ flutter run --trace-startup --profile

La salida de seguimiento se guarda en el directorio del proyecto Flutter en el  build directorio, en un start_up_info.json archivo JSON llamado  . La salida enumera el tiempo desde el inicio de la aplicación hasta estos eventos de seguimiento (capturados en microsegundos):

  • Al entrar en el motor Flutter
  • Al mostrar el primer fotograma de la aplicación
  • Al inicializar el marco Flutter
  • Cuando se inicializa el marco Flutter
P.ej:
{
  "engineEnterTimestampMicros": 96025565262,
  "timeToFirstFrameMicros": 2171978,
  "timeToFrameworkInitMicros": 514585,
  "timeAfterFrameworkInitMicros": 1657393
}
7.2 Seguimiento del rendimiento del código de Dart
Para el seguimiento del rendimiento, puede utilizar la vista de línea de tiempo de las herramientas de desarrollo. La vista de línea de tiempo también admite archivos de seguimiento de importación y exportación.
También puede realizar un seguimiento en el código, pero esta información de seguimiento no se puede importar a la vista de línea de tiempo del modo de desarrollador.
Cuando realice el seguimiento, asegúrese de ejecutar la aplicación en modo de perfil, para asegurarse de que las características de rendimiento en tiempo de ejecución sean muy coherentes con su producto final.
8. Capa de rendimiento
Para mostrar gráficamente el rendimiento de su aplicación, puede activar la capa de rendimiento. Puedes hacer clic en el botón Superposición de rendimiento en el inspector de Flutter.
También puede activar esta capa en el código.
Para saber cómo analizar los gráficos en la capa, consulte la sección de la capa de rendimiento en Análisis de rendimiento de Flutter.
9. Bandera de depuración
En la mayoría de los casos, no es necesario utilizar la marca de depuración directamente, porque puede encontrar las funciones de depuración más útiles en las herramientas de desarrollo.
10. Preguntas frecuentes
Estos son algunos de los problemas encontrados en macOS.
10.1 Excepción "El número de identificadores supera el límite del sistema" (macOS)
El límite predeterminado de mac OS sobre cuántas manijas se pueden abrir al mismo tiempo es bastante bajo. Si alcanza este límite, puede ulimit  aumentar el número de identificadores disponibles con el  comando:
ulimit -S -n 2048
Si usa Travis o Cirrus para las pruebas, aumente la cantidad de manijas que pueden abrir agregando el mismo comando en flutter / .travis.yml o flutter / .cirrus.yml.

640? Wx_fmt = png

Supongo que te gusta

Origin blog.csdn.net/weixin_43459071/article/details/102952536
Recomendado
Clasificación