Outils
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Il n'est pas toujours facile d'identifier la source d'un problème de performances, ni le code à optimiser. Commencez par utiliser des outils pour identifier l'origine du problème.
Outil d'inspection de la mise en page
Utilisez l'outil d'inspection de la mise en page pour inspecter votre mise en page et afficher le nombre de recompositions.
Si l'interface utilisateur présente des performances médiocres, cela est souvent dû à une erreur de codage qui force sa recomposition de façon excessive. À l'inverse, certaines erreurs de codage peuvent empêcher la recomposition de votre UI alors qu'elle doit l'être, ce qui signifie que les modifications de l'UI n'apparaissent pas à l'écran. Suivre les recompositions permet de détecter ces deux types de problèmes.
La recomposition n'est pas un problème en soi. Cependant, une recomposition inattendue peut poser problème.
Pour en savoir plus, consultez la documentation sur le nombre de recompositions dans l'outil d'inspection de la mise en page.
Traçage d'une composition
Utilisez le traçage de la composition pour tracer vos fonctions composables dans un traçage système. Les traces sont souvent les meilleures sources d'informations pour identifier un problème de performances. Elles vous permettent de formuler une hypothèse quant à la nature du problème et de savoir où commencer à chercher.
Autres ressources
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/30 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/30 (UTC)."],[],[],null,["# Tooling\n\nIt can be hard to know where a performance issue lies and what code to start\noptimizing. Start by using tools to help narrow down where your issue is.\n\nLayout Inspector\n----------------\n\nUse the [Layout Inspector](/develop/ui/compose/tooling/debug#layout_inspector) to inspect your layout and see recomposition\ncounts.\n\nIf your UI has poor performance, this is often because of a coding error that\nforces your UI to be recomposed excessively. On the other hand, some coding\nerrors can prevent your UI from being recomposed when it needs to be, which\nmeans UI changes aren't showing up on the screen. Tracking recompositions can\nhelp find both of these kinds of problems.\n\nRecomposition in itself is not bad; however, unexpected recomposition can be an\nissue.\n\nFor more information, see the Layout Inspector [recomposition counts](/develop/ui/compose/tooling/debug#recomposition-counts)\ndocumentation.\n\nComposition tracing\n-------------------\n\nUse [composition tracing](/develop/ui/compose/tooling/tracing) to trace your composable functions in a system\ntrace. Traces are often the best source of information when first looking into a\nperformance issue. They allow you to form a hypothesis of what the issue is and\nwhere to start looking.\n\nAdditional Resources\n--------------------\n\n- **[App performance guide](/topic/performance/overview)**: Discover best practices, libraries, and tools to improve performance on Android.\n- **[Inspect Performance](/topic/performance/inspecting-overview):** Inspect app performance.\n- **[Benchmarking](/topic/performance/benchmarking/benchmarking-overview):** Benchmark app performance.\n- **[App startup](/topic/performance/appstartup/analysis-optimization):** Optimize app startup.\n- **[Baseline profiles](/baseline-profiles):** Understand baseline profiles."]]