Communitygithub.com

Desempenho e Confiabilidade Mobile

Mede e melhora a inicialização, renderização de frames, rolagem, animações, memória, bateria, desempenho de rede e confiabilidade de serviços em apps Flutter, usando evidências repetíveis. Útil para apps lentos ou com travamentos, orçamentos de desempenho, criação de perfis ou confiabilidade em produção.

O que é Desempenho e Confiabilidade Mobile?

Esta skill capacita agentes de IA (como Claude Code, Cursor ou Codex) a diagnosticar e otimizar o desempenho e a confiabilidade de aplicativos Flutter mobile. Ela fornece um protocolo de medição rigoroso, baseado em dispositivos físicos e modo profile, para identificar gargalos reais em inicialização, renderização de frames, uso de memória, consumo de bateria e desempenho de rede. A skill orienta a evitar otimizações prematuras e refatorações sem evidências, seguindo uma sequência de otimização que vai da reprodução controlada do problema até a verificação de regressões. Ela também cobre a definição de SLIs/SLOs para jornadas críticas de produção e exige que toda otimização seja apoiada por evidências de antes e depois, sob as mesmas condições. Compatível com agentes que operam em repositórios de código Flutter, a skill garante que as decisões de desempenho sejam baseadas em dados, não em achismos.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ParkersYourDad/flutter-engineering-skills/tree/HEAD/skills/mobile-performance-reliability

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Desempenho e Confiabilidade Mobile faz?

Padrões Compartilhados

Use estes documentos do repositório como fonte única de verdade. Não copie suas listas de verificação para esta skill nem crie variantes locais conflitantes:

Missão

Encontre o gargalo medido e melhore o resultado visível ao usuário sem otimização prematura ou arquitetura desnecessária.

Responsabilidades

Orçamentos de desempenho, planos de criação de perfil, medições de inicialização/frame/memória/rede, diagnóstico de gargalos, indicadores de confiabilidade, verificações de regressão de desempenho e aconselhamento de remediação baseado em evidências.

Não é responsabilidade

Direção visual, alteração de requisitos de produto, refatorações amplas sem evidências ou reivindicação de resultados com base em medições de depuração/emulador.

Protocolo de Medição

  • Faça perfil em dispositivos físicos no modo profile do Flutter; use builds release para testes de release e comportamento de inicialização. Resultados de depuração e emulador não são evidências de desempenho em release.
  • Comece com o dispositivo suportado mais básico e inclua dispositivos com taxas de atualização mais altas quando relevante.
  • Registre dispositivo, SO, taxa de atualização, versão do Flutter/Dart, modo de build, cenário, tamanho do conjunto de dados, condição de rede, repetições e ferramentas.
  • Inspecione os tempos de frame da UI e do raster separadamente. O orçamento de frame deriva da taxa de atualização da tela; não imponha um único limite de 60 Hz para todos os dispositivos.
  • Informe P50/P95 onde o tamanho da amostra permitir. Separe inicialização a frio e a quente, animações de primeiro uso e aquecidas, e renderização local de espera de rede.
  • Meça jornadas do usuário: primeira interação, navegação principal, rolagem, busca/digitação, mídia, telas modais e transições pesadas.
  • Meça a memória após o aquecimento e jornadas repetidas; distinga alocações temporárias e coleta de lixo normal de vazamentos de objetos retidos.
  • Meça tamanhos de payload, contagens de requisições, latência, repetições, cancelamento, acerto/erro de cache e comportamento em rede lenta.
  • Monitore energia/trabalho em segundo plano apenas quando o aplicativo usar polling, localização, mídia, sincronização frequente ou streams em tempo real.

Sequência de Otimização

  1. Reproduza o problema em um cenário controlado.
  2. Capture uma linha de base e identifique se o gargalo é build/layout, raster/GPU, Dart CPU, nativo/plugin, decodificação de imagem, pressão de memória, I/O ou rede.
  3. Escolha a menor alteração que resolva a causa medida.
  4. Adicione ou atualize uma medição/teste de regressão.
  5. Compare antes e depois sob as mesmas condições.
  6. Verifique as compensações de correção, acessibilidade, memória e bateria.

Evite

Isolates prematuros, RepaintBoundary excessivo, caches ilimitados, carregamento de conjuntos de dados inteiros, polling desnecessário, efeitos caros de opacidade/clipping/saveLayer, reconstruções amplas, trabalho síncrono no build e flags de renderizador sem evidências. Mantenha os padrões do renderizador Flutter a menos que a criação de perfil demonstre um problema específico do dispositivo e a decisão esteja documentada.

Confiabilidade

Para jornadas críticas de produção, trabalhe com Operações para definir SLIs/SLOs para conclusão, latência, disponibilidade e atualização dos dados. Investigue taxas de crash/ANR, regressões de inicialização, dependências de backend, timeouts, tempestades de repetição e recuperação após pausa/retomada do aplicativo ou mudanças de conectividade.

Portão de Aceitação

Todo requisito crítico de desempenho tem um cenário, ambiente, métrica, percentil, limite e linha de base repetíveis. As descobertas identificam a causa; otimizações reivindicadas incluem evidências de antes/depois. Comportamento de hardware/plataforma não medido é considerado Não verificado.

Habilidades Relacionadas