Rastreamento de composição do Jetpack Compose

Hoje, estamos lançando o primeiro alfa do Compose Compose Tracing, um novo recurso que permite mostrar as funções que podem ser compostas do Jetpack Compose no perfil de rastreamento do sistema Android Studio Flamingo. Ele oferece a baixa intrusão do rastreamento do sistema, com níveis de detalhes de rastreamento de método na composição. Isso é ótimo para verificar o desempenho do seu aplicativo Compose e descobrir por que seu aplicativo pode não estar funcionando conforme o esperado.

Anteriormente, o rastreamento do sistema mostrava apenas um bloco por quadro para recomposição, mas não informava quais composables estavam realmente sendo recompostos. Essas informações já estavam disponíveis por meio do rastreamento de método, mas o rastreamento de método pode ser muito intrusivo e afetar significativamente o desempenho do seu aplicativo. Agora, você pode ver todos os seus composables no rastreamento do sistema sem esse problema e encontrar qualquer um que esteja demorando mais do que o esperado! Aqui está uma prévia do que parece:

Componíveis no rastreamento do sistema

Caso não seja óbvio quantos detalhes extras isso está fornecendo, aqui está o que parece sem o rastreamento de composição ativado:

Rastreamento do sistema sem rastreamento de composição

Configurar para rastreamento de composição

Para experimentar o rastreamento de recomposição em seu projeto, você terá que atualizar pelo menos as seguintes versões.

  • Android Studio Flamingo Canary 1
  • Compor IU: 1.3.0-beta01
  • Compor Compilador: 1.3.0

Além disso, você precisará adicionar uma nova dependência no Compose Runtime Tracing:

implementation("androidx.compose.runtime:runtime-tracing:1.0.0-alpha01")

Com essa dependência, ao fazer um rastreamento do sistema que inclua recomposição, você verá as funções que podem ser compostas automaticamente.

Faça um rastreamento do sistema

Para fazer um rastreamento do sistema e ver o novo rastreamento de recomposição em ação, primeiro abra o criador de perfil

Clique na linha do tempo da CPU

Navegue seu aplicativo para a interface do usuário que você deseja rastrear e selecione System Trace and Record

Use seu aplicativo para causar recomposição e interromper a gravação. Depois que o rastreamento for processado e exibido, você poderá ver os composables no rastreamento de recomposição. Você pode usar o teclado e o mouse para ampliar e deslocar o traço; se você não estiver familiarizado com a navegação de um rastreamento, consulte a documentação .

Você também pode ver composables no Flame Chart junto com o arquivo e o número da linha.

Ressalvas

Sobrecarga do tamanho do APK

Embora tenhamos como objetivo minimizar ao máximo a sobrecarga do recurso, há um aumento no tamanho do APK para aplicativos do Compose provenientes de strings de rastreamento incorporadas no APK pelo compilador do Compose. Isso pode ser relativamente pequeno se seu aplicativo não estiver usando muito Compose ou maior para aplicativos totalmente Compose. Além disso, eles não são ofuscados para que possam aparecer nas ferramentas de rastreamento, conforme mostrado acima. O compilador do Compose os injeta em todos os aplicativos, começando com a versão 1.3.0.

Eles podem ser removidos em sua compilação de produção adicionando a seguinte regra de proguard:

Essas funções podem mudar no futuro, mas quaisquer alterações serão mencionadas nas notas de versão do Compose .

Observe que mantê-los, embora incorra em algum custo de tamanho de APK, garante que o APK que está sendo perfilado seja o mesmo que os usuários do aplicativo executam.

Tempo preciso

Para perfis precisos, como em qualquer teste de desempenho, você precisa fazer o aplicativo profileable/ non-debuggableconformehttps://developer.android.com/studio/profile#profileable-apps

Comentários

Gostaríamos muito de ouvir seus comentários sobre esse recurso, quaisquer bugs que você encontrar e quaisquer solicitações que você tenha. Você pode nos enviar comentários por meio do rastreador de problemas.

Suggested posts

Dois anos em design - O bom, o mau e o feio…

Dois anos em design - O bom, o mau e o feio…

“Ei, Siri, toque Me Dive, de Olivia Dean.” Era maio de 2021 quando comecei meu estágio na Future Academy Africa em Akure, Nigéria.

O que torna um podcast influente?

O que torna um podcast influente?

Na semana passada, notei um comunicado de imprensa, enviado via PressGazette (um site de notícias da mídia britânica). O artigo anunciava que a Acast, a empresa de publicidade e hospedagem de podcast Scandi, lideraria um consórcio de "provavelmente os editores mais influentes" em podcasting.

Related posts

That Threat Archive: Vol 7 Black Basta

That Threat Archive: Vol 7 Black Basta

No mundo interconectado de hoje, a ameaça de ataques cibernéticos é mais prevalente do que nunca. Criminosos cibernéticos e agentes de estado-nação estão constantemente buscando explorar vulnerabilidades e roubar dados valiosos, representando um risco significativo para organizações de todos os tamanhos.

O desafio de leitura Goodreads é tóxico

O desafio de leitura Goodreads é tóxico

A coceira na minha mão aumentou enquanto eu negociava com o livreiro local por mais um livro. Este livro, como o resto que comprei recentemente, encontraria seu trono na minha pilha 'To Be Read' (TBR); e ainda assim, eu comprei.

O primeiro livro de uma criança sobre como ficar chapado

O primeiro livro de uma criança sobre como ficar chapado

(Aviso - isso é sátira, com a intenção de ser alegremente subversivo - definitivamente não é para crianças) Você viu sua mãe e seu pai se esconderem na cozinha e fumarem aqueles cigarros fedorentos. Eles dizem a você.

Coletando OSINT para caçar ameaças

Coletando OSINT para caçar ameaças

Olá, entusiastas cibernéticos! Bem-vindo de volta ao OSINT para a série de caça a ameaças. No primeiro artigo, apresentei uma visão geral do OSINT e sua importância na caça às ameaças.