Home / Android-Entwicklung / Android-Entwickler-Blog: Android Studio 3.5 Beta

Android-Entwickler-Blog: Android Studio 3.5 Beta

Gepostet von Jamal Eason Produktmanager, Android

Android Studio 3.5 Beta kann heute heruntergeladen werden. Letztes Jahr haben wir bei Google I / O von vielen von Ihnen gehört, dass wir uns noch mehr auf Qualität und Stabilität konzentrieren sollen. Aus diesem Grund haben wir Project Marble ins Leben gerufen und uns darauf konzentriert, die grundlegenden Funktionen und Abläufe der IDE (Integrated Development Environment) zu verfestigen. Android Studio 3.5 ist der Höhepunkt dieser Bemühungen. Die Ergebnisse von Project Marble konzentrieren sich auf drei Kernbereiche: Systemintegrität, Feature-Polish und Bugs. Wir bemühen uns um Ihr letztes Feedback, um sicherzustellen, dass wir keinen wichtigen Bereich verpassen, der für Sie von Belang ist. Laden Sie daher Android Studio 3.5 noch heute auf den Betakanal herunter, um uns Ihre Meinung mitzuteilen.

Oft kann es schwierig sein, den Umfang der Änderungen zu erkennen, die an einer Qualitätsversion vorgenommen werden. Daher werden in diesem Beitrag und in unserem Google I / O-Vortrag zu den Neuheiten der Android-Entwicklungstools eine Reihe von Änderungen in den Hauptfokusbereichen von Project Marble in Android Studio 3.5 erläutert. Wir sind mit Android Studio mit Sicherheit nicht fertig damit, die Qualität zu verbessern, aber mit der Arbeit und der neuen Infrastruktur, die in Project Marble für die langfristige Qualitätsüberwachung integriert wurde, hoffen wir, dass Sie bei der Entwicklung von Android-Apps noch produktiver sind.

Neue Funktionen in Android-Entwicklungstools (Google I / O'19)

Systemintegrität – Speicher

Einer der wichtigsten Punkte beim Feedback zu Android Studio ist, wie langsam die IDE im Laufe der Zeit ausgeführt wird. Der Grund für diese Erfahrung liegt häufig in unerwartetem Speicherdruck oder IDE-Speicherlecks. Wir haben uns in diesem Bereich umgegraben und im Rahmen von Project Marble über 33 wichtige Speicherlecks behoben. Um Lecks zu identifizieren, messen wir nun laufend in einem internen Dashboard die Ausnahmen von zu wenig Speicherplatz für diejenigen, die sich dafür entscheiden, Daten mit uns zu teilen. Auf diese Weise können wir uns auf die wichtigsten Probleme konzentrieren und diese beheben. Beginnend mit Android Studio 3.5 erfassen wir, wenn der IDE der Speicherplatz ausgeht, einige allgemeine Statistiken über die Größe des Speicherheaps und der dominanten Objekte im Heap. Mit diesen Daten kann die IDE zwei Dinge tun: bessere Speichereinstellungen vorschlagen und eine tiefere Speicheranalyse anbieten.

  • Speichereinstellungen automatisch empfehlen – Standardmäßig verfügt Android Studio über eine maximale Größe des Speicherheapspeichers von 1,2 GB. Für diejenigen von Ihnen mit großen Projekten ist dieser Betrag möglicherweise nicht ausreichend. Selbst wenn Sie einen Computer mit viel RAM haben, überschreitet die IDE diesen Wert nicht. Mit Android Studio 3.5 erkennt die IDE, wenn ein App-Projekt auf einem Computer mit höherer RAM-Kapazität mehr RAM benötigt, und benachrichtigt Sie, wenn die Größe des Speicherheapspeichers in einer Benachrichtigung erhöht wird. Alternativ können Sie Anpassungen im neuen Einstellungsfeld unter Aussehen & Verhalten Speichereinstellungen vornehmen.

Speichereinstellungen

  • Leichter zu meldende Speicherprobleme bei der Speicherhaufenanalyse – Es kann manchmal schwierig sein, Speicherprobleme zu erfassen und zu reproduzieren, um sie dem Android Studio-Team zu melden. Zur Behebung dieses Problems können Sie mit Android Studio 3.5 einen Speicherabzug ( Hilfe → Speichernutzung analysieren ) auslösen, den die IDE lokal nach persönlichen Daten bereinigt, analysiert und einen Bericht erstellt. Sie können diesen Speicherauslastungsbericht für das Android Studio-Team freigeben, um Leistungsprobleme zu beheben.

Bericht zur Speichernutzung

Systemintegrität – Ausnahmen

Wir haben unsere Ausnahmeverfahren-Backend-Pipeline überarbeitet. Mit den Opt-In-Daten haben wir jetzt frühere Signale für häufige Ausnahmen in Summe, mit denen wir Probleme früher als zuvor im Prozess der Freigabe von Kanaren priorisieren und beheben können. Darüber hinaus haben wir die Häufigkeit verringert, mit der Sie zu Ausnahmen aufgefordert werden, da die Analyse- und Opt-In-Absturzberichte für unser Team jetzt besser umsetzbar sind. Das Nettoergebnis ist, dass Sie das blinkende rote Ausnahmeberichtsymbol in der unteren Statusleiste der IDE seltener sehen sollten.

Android Studio-Ausnahmeblase

Systemzustand – Benutzeroberfläche friert ein

Einfrieren der Benutzeroberfläche ist ein weiteres häufiges Problem, das wir von Ihnen gehört haben. In Android Studio 3.5 haben wir die Infrastruktur der zugrunde liegenden Intellij-Plattform erweitert und messen jetzt UI-Thread-Stopps, die länger als ein paar Momente dauern. Mit der Zeit werden wir ein größeres Bild der Top-Hit-Spots haben, auf die wir uns konzentrieren können. Während der Entwicklung von Project Marble stellten wir beispielsweise in unseren Daten fest, dass die Bearbeitung von XML-Code in der IDE erheblich langsamer war. Mit diesem Datenpunkt haben wir die XML-Typisierung optimiert und die Leistung in Android Studio 3.5 messbar verbessert. Sie können unten sehen, dass das Bearbeiten von Datenbindungsausdrücken in XML aufgrund von Tippverzögerungsverbesserungen schneller ist.


Codebearbeitung vor – Android Studio 3.4 (links) und Codebearbeitung nach – Android Studio 3.5 (rechts)

Systemintegrität – Build-Geschwindigkeit

Wir haben unsere Investition in die Build-Geschwindigkeit fortgesetzt. Für Entwickler mit größeren Projekten ist dies das Hauptanliegen. Wie wir kürzlich in unserem mittelgroßen Blogbeitrag über die Erstellungsgeschwindigkeit festgestellt haben, können viele Elemente die Erstellungsleistung beeinträchtigen und sie manchmal stärker verlangsamen, als wir sie verbessern können. Während Project Marble haben wir jedoch Geschwindigkeitsverbesserungen vorgenommen, indem wir den Top-Annotation-Prozessoren, einschließlich Glide, AndroidX-Datenbindung, Dagger, Realm und Kotlin (KAPT), inkrementelle Build-Unterstützung hinzugefügt haben. Inkrementelle Unterstützung kann die Erstellungsgeschwindigkeit erheblich beeinträchtigen. In unserer vorläufigen Analyse hat beispielsweise das Hinzufügen von inkrementeller Unterstützung nur für Kotlin die Änderungen des Submodul-Nicht-ABI-Codes für die Google-E / A-Zeitplan-App von 9,1 Sekunden auf 3,6 Sekunden verbessert – eine Verbesserung von 60%. Weitere Informationen zu den Leistungsänderungen am Buildsystem finden Sie hier.

Systemintegrität – IDE-Geschwindigkeit

In der Vergangenheit bestand ein Tipp, den einige Entwickler verwendeten, darin, Android Studio-Plug-ins wie die Android NDK-Unterstützung zu deaktivieren, um die Leistung zu verbessern. Das Deaktivieren von Plug-ins zum Entfernen zusätzlicher Menüs oder Optionen, die Sie nicht benötigen, hat zwar nichts auszusetzen, wir haben jedoch einige unnötige Leistungs-Hotspots für die Android NDK-Unterstützung entfernt, die sich auf die IDE-Geschwindigkeit ausgewirkt haben.

Systemzustand – Lint-Code-Analyse

Android Lint ist ein Code-Analyse-Framework in Android Studio, mit dessen Hilfe häufig auftretende Programmierfehler identifiziert werden können. Wir haben jedoch aus mehreren Benutzerberichten erfahren, dass Lint zu langsam sein kann, insbesondere wenn große Projekte im Stapelanalysemodus ausgeführt werden. Nach einigem Graben haben wir mehrere große Speicherlecks gefunden und behoben, was zu einer etwa zweifachen Beschleunigung der Lint-Leistung führte. Wir haben auch ein Profiling-Tool veröffentlicht, mit dem Engpässe bei einzelnen Flusenprüfungen erkannt werden können. Lesen Sie hier mehr über die Analyse und das Tool.

Systemintegrität – E / A-Dateizugriff für Windows

Viele Benutzer von Android Studio verwenden Microsoft Windows. Im Laufe der Zeit erhielten wir eine Reihe von Berichten von Benutzern dieser Plattform, wonach die Erstellungszeiten und Installationsgeschwindigkeiten immer langsamer wurden. Nachdem wir das Problem während Project Marble untersucht hatten, stellten wir fest, dass die neuesten Antivirenprogramme die Erstellungs- und Installationsverzeichnisse von Android Studio als aktive Scan-Ziele enthielten. Da in diesen Ordnern im Laufe der Zeit viele kleine Dateien erstellt und entfernt werden, werden E / A und CPU teilweise belastet, was sich auf die allgemeine Build / Sync-Leistung von Android Studio auswirkt.

Interne Google-Daten, 2,2 GHz Quad-Core Intel Core i7, April 2019

  • Systemintegritätsprüfung – Ab Android Studio 3.5 überprüft die IDE verschiedene Verzeichnisse, die von dieser Verlangsamung betroffen sein könnten, einschließlich der Erstellen Sie ein Projektverzeichnis, und vergleichen Sie sie mit der Liste der ausgeschlossenen Virenschutzverzeichnisse. Wenn Android Studio eine Inkonsistenz feststellt, wird eine Popup-Benachrichtigung und ein Link angezeigt, die Sie durch die optimale Einrichtung führen. Erfahren Sie hier mehr.

Systemzustandsbenachrichtigung – Virenprüfung

Systemzustand – Emulator-CPU-Auslastung

Viele App-Entwickler genießen den schnellen und reaktionsschnellen Emulator, der in den letzten Jahren dramatische Leistungsverbesserungen erfahren hat. Wir haben jedoch von Ihnen gehört, dass der Android-Emulator anscheinend übermäßig viele CPU-Zyklen in Anspruch nimmt und die Lüfter auf Laptops auslöst, selbst wenn der Emulator im Hintergrund inaktiv ist. Nach einer Untersuchung und Messung stellten wir fest, dass Google Play Services und verwandte Dienste aggressiv im Hintergrund ausgeführt wurden, da der Emulator standardmäßig auf Wechselstrom aufgeladen wurde, anstatt den Akku zu entladen. Wir haben die Standardeinstellung auf Batterieentladung umgestellt, und die CPU-Auslastung im Hintergrund hat sich um mehr als das Dreifache verringert. Diese Änderung ist nur eine der vielen Optimierungen, die wir im Rahmen von Project Marble am Android-Emulator vorgenommen haben. Erfahren Sie hier mehr über den Android Emulator und Project Marble.

Interne Google-Daten auf Apple MacBook Pro (15 ”2016), Emulator: Pixel 3 API 28

Feature Polish – Änderungen übernehmen

Die Möglichkeit, vorgenommene Codeänderungen schnell zu bearbeiten und anzuzeigen, ohne die App neu zu starten, ist ideal für die App-Entwicklung. Vor zwei Jahren war die Instant Run-Funktion unser Versuch, diesen Fluss zu ermöglichen, aber letztendlich blieb er hinter den Erwartungen zurück. Während des Zeitraums von Project Marble haben wir einen praktischeren Ansatz in Android Studio 3.5 mit dem Namen Apply Changes neu strukturiert und von Grund auf implementiert. Apply Changes verwendet plattformspezifische APIs von Android Oreo und höher, um ein zuverlässiges und konsistentes Verhalten sicherzustellen. Im Gegensatz zu Instant Run ändert Apply Changes nicht Ihre APK. Um die Änderungen zu unterstützen, haben wir die gesamte Bereitstellungspipeline überarbeitet, um die Bereitstellungsgeschwindigkeit zu verbessern, und die Schaltflächen in der Ausführungs- und Bereitstellungssymbolleiste optimiert, um eine optimierte Darstellung zu ermöglichen. Erfahren Sie hier mehr über die Architektur hinter Apply Changes.

Schaltflächen zum Übernehmen von Änderungen

Feature Polish – Gradle Sync

Ein neues und nerviges Problem in Android Studio besteht darin, dass Ihr Projekt unerwartet rote Symbole in Ihrem App-Code auslöst, insbesondere beim erneuten Öffnen Ihres Projekts. Das Gradle-Build-System behält einen Cache mit allen Abhängigkeiten in Ihrem Ausgangsverzeichnis bei, sodass die IDE schnell synchronisiert werden kann, ohne dass neue Artefakte erneut heruntergeladen werden müssen. Die Hauptursache für viele der kürzlich aufgetretenen Vorfälle mit roten Symbolen ist, dass diese Caches bei einer kürzlich erfolgten Gradle-Änderung regelmäßig gelöscht wurden, um Speicherplatz auf der Festplatte zu sparen. Die IDE war sich der Diskrepanz nicht bewusst und erzeugte daher rote Symbole für fehlende Abhängigkeiten. Ab Android Studio 3.5 verfügen wir nun über die Bedingungslogik, um diesen Status zu überprüfen. In diesem Bereich haben wir sicherlich mehr zu tun, aber dies ist nur ein Beispiel für die Art von Problemen, die wir bei der Projektsynchronisierung während Project Marble angesprochen haben.

Feature Polish – Projektverbesserungen

Idealerweise möchte das Android Studio-Team, dass Sie auf der neuesten Version der IDE sind, da das Team hier die Entwicklung aktiver Funktionen, Fehlerbehebung und Leistungsverbesserungen vornimmt. Wir wissen, dass das Aktualisieren Ihres Android Studios kein nahtloser Prozess ist, da viele Probleme mit der Behebung von Gradle-Plug-in-Fehlern verbunden sein sollten. Mit Android Studio 3.5 haben wir die Benutzererfahrung in Ausgabefenstern, Popups und Dialogfeldern aktualisiert, um zu klären, wann Sie tatsächlich ein Upgrade durchführen müssen. Außerdem haben wir mehr Fehler beim Synchronisieren und Erstellen von Upgrades behoben.

Aus einer kürzlich durchgeführten Entwicklerumfrage haben wir erfahren, dass viele Entwickler gleichzeitig die Android Studio-IDE und das Gradle-Plug-in aktualisieren. Ab den letzten Releases können die IDE und Ihr Gradle-Plugin unabhängig voneinander aktualisiert werden. Wenn Sie also die neuesten Verbesserungen der Geschwindigkeit und Korrektheit des Build-Systems wünschen, können Sie Ihr Gradle-Plugin aktualisieren. Sie können jedoch auch warten, bis Sie fertig sind. Unabhängig davon, ob Sie Ihr Gradle-Plugin gleichzeitig mit der IDE aktualisieren oder nicht, empfehlen wir Ihnen, die neueste Version von Android Studio 3.5 zu verwenden, um alle Verbesserungen von Project Marble nutzen zu können.

Feature Polish – Layout-Editor

Aufgrund von Benutzeruntersuchungen im Layout-Editor und Ihrer Eingaben wissen wir, dass es verschiedene Probleme hinsichtlich der Leistung und der fehleranfälligen Verwendbarkeit gibt, die die Bearbeitung von XML zum einzigen Pfad nach vorne machen, insbesondere bei der Arbeit mit ConstraintLayout. Um die allgemeine Benutzerfreundlichkeit des Layout-Editors zu verbessern, haben wir eine breite Palette von Interaktionen verfeinert, von der Auswahl und Löschung von Einschränkungen bis hin zu einer besseren Größenänderung der Gerätevorschau. Obwohl die Bearbeitung von XML-Code noch einen Klick entfernt ist, hoffen wir, dass Sie feststellen können, dass diese Interaktionsverbesserungen einen großen Produktivitätsschub beim Erstellen und Bearbeiten von Layouts in Android Studio bedeuten können. Erfahren Sie hier mehr über alle Änderungen im Layout-Editor.

Layouteditor Vorher – Android Studio 3.4 (links) und Layouteditor Nachher – Android Studio 3.5 (rechts)

Feature Polish – Datenbindung

Während des Projekts Marble haben wir uns auch mit langjährigen Problemen bei der Datenbindung befasst. In Bezug auf die Leistung haben wir festgestellt, dass das Erstellen von Datenbindungsausdrücken in XML-Dateien zu schwerwiegenden Hängen im Code-Editor führen würde. Nach der Behebung dieses Problems haben wir auch die Code-Vervollständigung, Navigation und das Refactoring verbessert.

Feature Polish – Ablauf der App-Bereitstellung

Wir haben den Bereitstellungsablauf während Project Marble optimiert, indem wir ein neues Dropdown-Menü hinzugefügt haben, in dem das Gerät, auf dem Sie die Bereitstellung durchführen möchten, einfach angezeigt und geändert werden kann. Außerdem wurde ein neues Menüelement für die Bereitstellung auf mehreren Geräten hinzugefügt.

Benutzerfluss für die App-Bereitstellung

Feature Polish – C ++ – Verbesserungen

Die Unterstützung von C ++ – Projekten war auch ein Schwerpunkt bei Project Marble. CMake-Builds sind jetzt bis zu 25% schneller für große Projekte, da die IDE jetzt parallele Ninja-Ziele aufruft. Darüber hinaus finden Sie ein verbessertes Bedienfeld für einzelne Build-Varianten, in dem Sie ABI-Ziele separat angeben können. Und schließlich können Sie in Android Studio 3.5 mehrere Versionen des Android NDK nebeneinander in Ihrer build.gradle-Datei verwenden . Dies sollte es Ihnen ermöglichen, reproduzierbare Builds zu erstellen und Inkompatibilitäten zwischen NDK-Versionen und dem Android-Gradle-Plugin zu verringern.

Auswahl einzelner Varianten durch ABI

Feature Polish – Intellij Platform Update

Diese Version von Android Studio enthält die Funktionen und Qualitätsverbesserungen der Intellij-Plattform-Version 2019.1. Die Intellij-Updates für 2019.1 bieten eine Reihe von Verbesserungen, von benutzerdefinierten Designs bis hin zu einer besseren Integration des Versionskontrollsystems.

Feature Polish – Bedingte Übermittlung für die Unterstützung dynamischer Features

Android Studio 3.5 erweitert die Unterstützung für App-Bundle-Funktionen um Funktionen für die bedingte Zustellung für Ihr App-Bundle. Mit der bedingten Übermittlung können Sie bestimmte Gerätekonfigurationsanforderungen für dynamische Funktionsmodule festlegen, die während der App-Installation automatisch heruntergeladen werden. Sie können die bedingte Zustellung basierend auf Hardwarefunktionen wie OpenGL-Versionen, Unterstützung für Augmented Reality oder Bedingungen basierend auf API-Ebene und Benutzerland festlegen.

Modulauswahl für bedingte Zustellung

Feature Polish – Unterstützung für Emulator-Foldables und Pixel-Geräte

Diese Version der IDE enthält die Android Emulator-Skins für Pixel 3a und Pixel 3a XL. Darüber hinaus unterstützt Android Studio die Erstellung faltbarer virtueller Android-Geräte.

Android Emulator – Faltbare Unterstützung

Feature Polish – Chrome OS-Unterstützung

Android Studio 3.5 wird jetzt offiziell unter Chrome OS 75 und höher auf x86-basierten High-End-Chromebooks unterstützt. Während Project Marble haben wir einige Usability-Probleme verbessert und haben jetzt ein Installationsprogramm für Android Studio und unterstützen die App-Bereitstellung auf externen, über USB verbundenen Android-Geräten. Weitere Informationen zum Einrichten der IDE unter Chrome OS finden Sie hier.

Android Studio unter Chrome OS

Zusammenfassend weist Android Studio 3.5 Hunderte von Fehlerkorrekturen und bemerkenswerten Änderungen in den folgenden Kernbereichen auf:

Systemzustand

  • Speichereinstellungen
  • Speicherbelegungsbericht
  • Ausnahmen reduzieren
  • Benutzeroberfläche friert ein
  • Build-Geschwindigkeit
  • IDE-Geschwindigkeit
  • Flusencode-Analyse
  • E / A-Dateizugriff
  • CPU-Auslastung des Emulators

Feature Polish

  • Änderungen anwenden
  • Gradle Sync
  • Projektupgrades
  • Layout-Editor
  • Datenbindung
  • App-Bereitstellung
  • C ++ – Verbesserungen
  • Plattform-Update für Intellij 2019.1
  • Bedingte Übermittlung für die Unterstützung dynamischer Funktionen
  • Unterstützung für Emulator-Foldables und Pixel-Geräte
  • Chrome OS-Unterstützung

Weitere Informationen finden Sie auf der Seite mit den Versionshinweisen für die Android Studio-Vorschau. In den folgenden mittelgroßen Blog-Beiträgen erfahren Sie, wie Sie tief in verschiedene Bereiche von Project Marble eintauchen können:

Opt-In und Feedback

Die spezifischen Bereiche und der Ansatz zur Optimierung von Android Studio für Project Marble basierten alle auf Ihren Feedback- und Messdaten. Mithilfe der aggregierten Metriken, die Sie in Android Studio aktivieren können, können wir herausfinden, ob das Produkt allgemeinere Probleme für alle Benutzer aufweist, und die Daten ermöglichen es dem Team, die Funktionsarbeit entsprechend zu priorisieren. Es gibt einige Wege, die uns helfen, bessere Einsichten zu gewinnen. Zu Beginn können Sie Metriken aktivieren, indem Sie zu Einstellungen → Aussehen und Verhalten → Datenaustausch wechseln.

Gemeinsame Nutzung von IDE-Daten

Während des gesamten Jahres werden in der unteren Ecke der IDE möglicherweise Emojis für die Benutzerstimmung angezeigt. Diese Symbole sind eine einfache Möglichkeit, das Android Studio-Team über den aktuellen Stand der Dinge zu informieren und uns kontextbezogenes Feedback zu geben. Sie sind außerdem die schnellste Möglichkeit, einen Fehler zu protokollieren und an das Team zu senden.

IDE-Benutzer-Feedback

Erste Schritte

Herunterladen

Laden Sie die Betaversion von Android Studio 3.5 von der Downloadseite herunter. Wenn Sie eine frühere Version von Android Studio verwenden, können Sie einfach auf die neueste Version von Android Studio aktualisieren. Wenn Sie eine stabile Version von Android Studio beibehalten möchten, können Sie die stabile Release-Version und die Beta-Release-Versionen von Android Studio gleichzeitig ausführen. Mehr erfahren.

Um die erwähnten Android Emulator-Funktionen zu verwenden, stellen Sie sicher, dass Sie mindestens Android Emulator v29.0.6 ausführen, der über den Android Studio SDK Manager heruntergeladen wurde.

Wie oben erwähnt, freuen wir uns über jegliches Feedback zu Dingen, die Ihnen gefallen, sowie zu Problemen oder Funktionen, die Sie gerne sehen würden. Wenn Sie einen Fehler oder ein Problem finden, können Sie ein Problem melden. Folgen Sie uns – dem Android Studio-Entwicklungsteam – auf Twitter und auf Medium.

About AndroidWeltEditor

Check Also

15 best Android emulators for PC and Mac of 2021

There are a lot of valid reasons why someone would want to run Android emulators …

Leave a Reply

Your email address will not be published. Required fields are marked *