Jetpack Kompositionsverfolgung

Heute starten wir die erste Alpha-Version von Compose Composition Tracing, einer neuen Funktion, die es ermöglicht, Jetpack Compose Composable-Funktionen im Trace-Profiler des Android Studio Flamingo-Systems anzuzeigen. Es bietet Ihnen die geringe Invasivität der Systemverfolgung mit Methodenverfolgungs-Detailebenen in der Komposition. Dies ist großartig, um die Leistung Ihrer Compose-App zu überprüfen und herauszufinden, warum Ihre App möglicherweise nicht wie erwartet funktioniert.

Zuvor zeigte Ihnen der System-Trace nur einen Block pro Frame für die Neuzusammenstellung, aber er sagte Ihnen nicht, welche zusammensetzbaren Elemente tatsächlich neu zusammengesetzt wurden. Diese Informationen waren bereits über die Methodenablaufverfolgung verfügbar, aber die Methodenablaufverfolgung kann sehr aufdringlich sein und die Leistung Ihrer App erheblich beeinträchtigen. Jetzt können Sie alle Ihre Composables im System-Trace ohne dieses Problem sehen und alle finden, die länger dauern als erwartet! Hier ist eine Vorschau, wie es aussieht:

Composables im Systemtrace

Nur für den Fall, dass es nicht offensichtlich ist, wie viele zusätzliche Details dies bietet, hier ist, wie es ohne aktivierte Kompositionsverfolgung aussieht:

System-Trace ohne Kompositions-Trace

Für die Zusammensetzungsverfolgung eingerichtet

Um die Neuzusammenstellungsverfolgung in Ihrem Projekt auszuprobieren, müssen Sie mindestens auf die folgenden Versionen aktualisieren.

  • Android Studio Flamingo Kanarienvogel 1
  • Benutzeroberfläche erstellen: 1.3.0-beta01
  • Compose-Compiler: 1.3.0

Außerdem müssen Sie eine neue Abhängigkeit von Compose Runtime Tracing hinzufügen:

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

Mit dieser Abhängigkeit werden die zusammensetzbaren Funktionen automatisch angezeigt, wenn Sie eine Systemablaufverfolgung erstellen, die eine Neuzusammenstellung enthält.

Machen Sie einen System-Trace

Um eine Systemablaufverfolgung zu erstellen und die neue Neuzusammenstellungsablaufverfolgung in Aktion zu sehen, öffnen Sie zunächst den Profiler

Klicken Sie auf CPU-Zeitachse

Navigieren Sie in Ihrer App zu der Benutzeroberfläche, die Sie nachverfolgen möchten, und wählen Sie dann Systemnachverfolgung und -aufzeichnung aus

Verwenden Sie Ihre App, um eine Neuzusammensetzung zu veranlassen und die Aufnahme zu stoppen. Sobald die Ablaufverfolgung verarbeitet wurde und angezeigt wird, sollten Sie nun die Composables in der Neuzusammenstellungsablaufverfolgung sehen können. Sie können Tastatur und Maus verwenden, um die Spur zu zoomen und zu schwenken; Wenn Sie mit der Navigation in einer Ablaufverfolgung nicht vertraut sind, lesen Sie die Dokumentation .

Sie können zusammensetzbare Elemente auch im Flammendiagramm zusammen mit der Datei- und Zeilennummer sehen.

Vorbehalte

Aufwand für die APK-Größe

Während wir darauf abzielten, den Overhead der Funktion so weit wie möglich zu minimieren, gibt es eine Erhöhung der APK-Größe für Compose-Apps, die aus der Verfolgung von Zeichenfolgen resultiert, die vom Compose-Compiler in das APK eingebettet wurden. Dies kann relativ gering sein, wenn Ihre App nicht viel Compose verwendet, oder größer für vollständig erstellte Apps. Diese sind zusätzlich unverschleiert, sodass sie, wie oben gezeigt, in Ablaufverfolgungstools angezeigt werden können. Der Compose-Compiler fügt sie ab Version 1.3.0 in alle Apps ein.

Diese können in Ihrem Produktions-Build entfernt werden, indem Sie die folgende Proguard-Regel hinzufügen:

Diese Funktionen können sich in Zukunft ändern, aber alle Änderungen werden in den Compose -Versionshinweisen erwähnt .

Beachten Sie, dass das Aufbewahren zwar einige Kosten für die APK-Größe verursacht, aber garantiert, dass das APK, für das ein Profil erstellt wird, dasselbe ist, das die App-Benutzer ausführen.

Genaues Timing

Für eine genaue Profilerstellung müssen Sie, wie bei jedem Leistungstest, die App profileable/ non-debuggablegemäß erstellenhttps://developer.android.com/studio/profile#profileable-apps

Feedback

Wir würden gerne Ihr Feedback zu dieser Funktion hören, alle Fehler, die Sie dabei finden, und alle Anfragen, die Sie haben. Sie können uns Feedback über den Issue Tracker senden.

Suggested posts

Netzwerk-TV Twitter

Netzwerk-TV Twitter

Was alt ist, ist jetzt wieder neu und was früher das glitzernde, glänzende Ding war, fühlt sich jetzt langweilig an. Ich spreche nicht davon, dass JNCO-Jeans zusammen mit anderen Modetrends der späten 1990er Jahre unter den coolen Kids in der Innenstadt ein Comeback erleben.

Was macht einen Podcast einflussreich?

Was macht einen Podcast einflussreich?

Letzte Woche fiel mir eine Pressemitteilung auf, die über PressGazette (eine britische Nachrichten-Website für Medien) verschickt wurde. In dem Artikel wurde angekündigt, dass Acast, das skandinavische Podcast-Hosting- und Werbeunternehmen, ein Konsortium der „wahrscheinlich einflussreichsten“ Verlage im Podcasting leiten werde.

Related posts

Zwei Jahre im Design – Das Gute, das Schlechte und das Hässliche…

Zwei Jahre im Design – Das Gute, das Schlechte und das Hässliche…

„Hey Siri, spiel Me Dive von Olivia Dean.“ Es war Mai 2021, als ich mein Praktikum bei der Future Academy Africa in Akure, Nigeria, begann.

Dieses Bedrohungsarchiv: Band 7 Black Basta

Dieses Bedrohungsarchiv: Band 7 Black Basta

In der heutigen vernetzten Welt ist die Bedrohung durch Cyberangriffe größer denn je. Cyberkriminelle und nationalstaatliche Akteure versuchen ständig, Schwachstellen auszunutzen und wertvolle Daten zu stehlen, was ein erhebliches Risiko für Unternehmen jeder Größe darstellt.

Finanzierung der CO2-Entfernung im Geschäftsjahr 24

Die Aufschlüsselung der Mittelanträge von Carbon180 nach Pfaden

Finanzierung der CO2-Entfernung im Geschäftsjahr 24

Von Alyson Lee, geschäftsführende Beraterin für Regierungsangelegenheiten Der jährliche Bewilligungsprozess der Bundesregierung ist von zentraler Bedeutung für unsere Bemühungen zur Finanzierung der Kohlendioxidentfernung (CDR). Jedes Jahr reicht Carbon180 Anfragen an verschiedene Kongressbüros ein, um zu bestimmen, wohin die Dollars im nächsten Jahr fließen werden.

Die „Learning at Work Week“ ist wichtiger als Sie denken

Die „Learning at Work Week“ ist wichtiger als Sie denken

Es fällt uns oft schwer, das umzusetzen, von dem wir wissen, dass es gut für uns ist. Von der Aussage, dass wir einen Lebensgefährten lieben, bis hin zur Erinnerung daran, wie ein Pirat zu reden – es wird immer diejenigen geben, die behaupten, dass ein Tag, eine Woche oder ein Monat voller Ereignisse nicht nötig sei, weil sie diese Dinge bereits tun.