Komfortable Arbeit mit Android Studio


Guten Tag an alle!


Wie produktiv ist Android Studio? Denken Sie, dass es auf Ihrem PC oder Mac intelligent funktioniert? Oder stoßen Sie manchmal auf Verzögerungen oder eine lange Versammlung? Und bei großen Projekten?


In jedem Fall möchten wir alle maximale Leistung mit Hardware und Software erzielen. Aus diesem Grund habe ich eine Liste mit Punkten und Tipps für Anfänger und erfahrene Entwickler erstellt, mit denen Sie bequem mit großen Projekten arbeiten oder einfach die Produktivität steigern können. Sie werden auch verstehen, ob Ihre Ausrüstung aktualisiert werden muss.


Benutzer anderer beliebter IDEs finden möglicherweise auch etwas Nützliches für sich.


Motivation


Android Studio war in den Tagen des Übergangs von Eclipse ungeschickt. Und schon damals suchte ich nach Möglichkeiten, die Arbeit dieser IDE zu optimieren. Die meisten Kollegen beziehen sich jedoch auf dieses "No Way". Es funktioniert. Nicht immer schnell. Und okay.


Aber seit einem Jahr arbeite ich in einer anderen Firma. Das Klima ist anders, Entwickler lesen Berichte über verschiedene Technologien. Bei einem dieser Berichte schien mir das Thema dieses Artikels gefragt zu sein. Insbesondere im Rahmen von Projekten mit erhöhter technischer Komplexität.


Nachdem ich mit Kollegen und Bekannten der Entwickler gesprochen hatte, wurde mir klar, dass nicht einmal jeder „Profi“ die Nuancen von Eisen, Betriebssystem und IDE versteht. Weil ich hier versucht habe, ein komplettes Bildungsprogramm zu sammeln, das auf meinen eigenen Erfahrungen basiert.


HAFTUNGSAUSSCHLUSS! Alle im Artikel genannten Modelle und Marken sind keine Werbung!


Eisen


Folgendes wird über Hardware auf der offiziellen Android Studio-Website in der Spalte Systemanforderungen (ohne Speicherplatz) gesagt:


3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator 1280x800 minimum screen resolution 

Dies ist genug für das Studio, um einfach zu beginnen und zu arbeiten. Wir sprechen nicht über Leistung und Komfort.


In diesem Kapitel werde ich darüber sprechen, welche Art von Hardware für eine komfortable Arbeit mit großen Projekten wünschenswert ist und was zu einem „Engpass“ in Ihrem System werden kann.


Hier sind 5 Parameter für uns am kritischsten:


  • CPU-Leistung
  • Anzahl der CPU-Hardware-Threads
  • RAM-Menge
  • Zufällige Lese- und Schreibgeschwindigkeit des Festplattensubsystems
  • Die Geschwindigkeit des Lesens kleiner Blöcke und des Schreibens kleiner Blöcke eines Platten-Subsystems

Da ich oft an Konfigurationen gearbeitet habe, die auf Intel-Produkten basieren, werden wir darüber sprechen. Wenn Sie jedoch AMD haben, lesen Sie es einfach und korrigieren Sie ähnliche rote Technologien. Das einzige Minus, mit dem ich bei AMD konfrontiert war, wurde bereits bei Habré beschrieben .


Ein paar Worte zum Mac


Es wird angenommen, dass der Mac die beste Maschine für die Entwicklung ist. Dies wird oft über das MacBook Pro gesagt.


Ich persönlich halte dies für einen Mythos. Mit dem Aufkommen der Technologie hat NVMe Mac seine „Magie“ verloren. Selbst unter Laptops ist der Mac heute in Bezug auf Preis-Leistungs-Verhältnis nicht führend. Besonders im Rahmen der Entwicklung für Android Studio.


Andernfalls verfügt das MacBook Pro 2015 oder 2016 für eine komfortable Entwicklung nicht über einen U-Prozessor. Weitere Informationen zu Funktionen und Service finden Sie weiter unten.


CPU


Die Prozessorleistung ist offensichtlich und verständlich. Je höher es ist, desto besser. Das einzige, was Sie beachten müssen, ist, dass ein schwacher Prozessor zu einem Engpass in Ihrem System wird, wenn Sie über ein ausreichend schnelles Laufwerk verfügen. Besonders kritisch bei NVMe-Laufwerken. Bei der Arbeit liegt der Schwerpunkt häufig genau auf der Leistung der CPU.


Mit Threads sind die Dinge etwas komplizierter. Ich habe gelesen, dass Benutzer die Priorität des Studios und seiner Unterprozesse reduzieren, damit das Betriebssystem während der Montage nicht "hängen bleibt". Der Grund hierfür sind 1-2 Hardware-Threads. Dies reicht nicht nur für die IDE, sondern auch für ein modernes Betriebssystem. Das einzige "aber" - in meiner Praxis gab es Situationen, in denen Dual-Core-U-Prozessoren mit Hyper-Threading (dh 2 Kerne für 4 Threads) normalerweise mit relativ kleinen Projekten arbeiteten, aber bei den großen begannen die oben genannten Probleme.


Natürlich ist Hardware-Virtualisierung erforderlich.


Daher empfehle ich, auf den Core i5 HQ Skylake mit mehr als 4 Streams und mehr Leistung zu schauen.


Rom


In Bezug auf die Standards DDR3 und höher. Hier ist es meiner Meinung nach klar.


Wenn es möglich ist, im 2- oder 4-Kanal-Modus zu arbeiten und diese für Sie nicht aktiv sind, empfehle ich dringend, sie zu verwenden, da Sie die Reaktionsfähigkeit der IDE erheblich verbessern können. Diese Funktion wird entweder in den BIOS \ UEFI-Einstellungen oder durch Installation zusätzlicher RAM-Module (falls Sie noch ein Modul haben) aktiviert.


Welches Volumen wird benötigt? Für kleine (wirklich kleine) Projekte reichen 4 GB aus. Bei größeren Projekten kann das Studio schnell 4 GB Speicher und mehr belegen. Fügen Sie hier den HAXM-Emulator (z. B. 2 GB) hinzu und berücksichtigen Sie, dass das moderne Betriebssystem (mit Ausnahme einiger Linux-Distributionen) etwa 2 GB Speicher belegt - und jetzt stellt sich heraus, dass 8 GB bereits "Back to Back" sind.


Dies berücksichtigt beispielsweise nicht Slack (der durchschnittlich etwa 500 MB Speicher benötigt) und Chrome (wo die Rechnung auf Gigabyte geht).


Im Allgemeinen können Sie mit 8 GB RAM schnell und bequem arbeiten - es werden ein schnelles Laufwerk und eine Swap \ Swap-Datei gespeichert. Es lohnt sich jedoch, über ein Upgrade nachzudenken.


Daher kauft das Unternehmen neue oder bietet ein Upgrade der aktuellen Arbeitsmaschinen für 12 GB RAM oder mehr an.


SSD


Das Festplattensubsystem ist der häufigste „Engpass“, daher muss zunächst darauf geachtet werden.


Die Arbeit mit Android Studio auf der Festplatte im Jahr 2018 ist vergleichbar mit Qualen - je größer das Projekt, desto mehr Friese werden Ihnen zur Verfügung gestellt. Verwenden Sie daher natürlich nur SSD.


Wie oben erwähnt, gibt es zwei kritische Parameter:


  • Zufällige Lese- und Schreibgeschwindigkeit des Festplattensubsystems
  • Die Geschwindigkeit des Lesens kleiner Blöcke und des Schreibens kleiner Blöcke eines Platten-Subsystems

Je höher sie sind, desto reaktionsschneller wird das Studio und desto schneller wird es geladen und zusammengebaut.


Ich mache Sie darauf aufmerksam, dass nicht über lineare Lese- / Schreibgeschwindigkeiten gesprochen wird - dies ist für ein Studio nicht kritisch. Daher müssen Sie bei der Auswahl eines Laufwerks nicht die Lese- / Schreibgeschwindigkeit auf der Website des Herstellers oder des Geschäfts, sondern die Anzahl der IOPS (je mehr, desto besser) berücksichtigen .


Natürlich geht es hier nicht um den Mac, da das Laufwerk dort entweder einen eigenen Standard hat oder einfach auf die Platine gelötet wird. Ein Austausch ist bis auf ein größeres Volumen möglich. Es ist unwahrscheinlich, dass hier die Geschwindigkeitseigenschaften erhöht werden können.


NVMe


Wenn Ihr Motherboard die NVMe- Technologie unterstützt, ist es besser, ein Laufwerk mit Unterstützung zu verwenden. Sie können damit Geschwindigkeiten erzielen, die mit SSDs auf Mac und höher vergleichbar sind.


Wenn Sie ein schnelles Laufwerk haben, liegt der Fokus auf dem PCIe-Bus und der Leistung Ihrer CPU. Wenn Ihr Motherboard beispielsweise die Ausgabe auf ein PCIe 2.0x4 \ 3.0x2-Laufwerk unterstützt oder Sie keine sehr leistungsstarke CPU haben, sollten Sie kein sehr teures Laufwerk kaufen. Sehen Sie sich die Funktionen Ihres Systems und die Dicke Ihrer Brieftasche an.


SATA3


Ja, SATA3 ist lebendiger als alle Lebenden. Und im Studio können Sie schnell daran arbeiten.


In diesem Segment sind Hochgeschwindigkeitslaufwerke günstiger. Daher ist es sinnvoll, sich sofort die Top-Lösungen mit einer Kapazität von 120 GB oder mehr anzusehen.


Intel Optane


Ich musste Android Studio nicht auf einem Computer mit diesem Laufwerk verwenden (wenn Sie es so nennen können). Wenn jemand Erfahrung hat, schreiben Sie in die Kommentare.


GPU


Es besteht keine Notwendigkeit, viel zu reden.
Wenn Sie normale Benutzeranwendungen schreiben, reicht etwas wie die Intel HD 500-Serie für das Studio und den Emulator selbst aus.


Wenn Sie Spiele entwickeln oder dies Ihre persönliche Maschine ist, sind diskrete Grafiken sinnvoll. Welche - schauen Sie nach Ihren Bedürfnissen.


Kühlsystem und Drosselung


Hier geht es nicht um ein Upgrade, sondern um die Wartung.


Die meisten von uns kennen das Phänomen der Drosselung . Seine Implementierung dient zum Schutz vor Überhitzung.


Drosselung führt natürlich zu einer Verringerung der Produktivität. Nicht immer auffällig. In einigen Fällen wird der Betrieb von Turbo Boost auf die Minimalwerte reduziert, in anderen Fällen beginnt ein Abfall der maximalen Prozessorfrequenzen. Der Grund ist ein unzureichender Betrieb des Kühlsystems. Es ist auch wichtig zu verstehen, dass die meisten Stresstests (wie AIDA) den regulären Turbo-Boost-Betrieb als Drosselung diagnostizieren.


Bei Desktop-PCs ist schon lange alles online. Bei mobilen Systemen, die auf Heatpipes basieren, viele widersprüchliche Informationen. Dies umfasst die meisten Laptops, Nettops, MacBooks und iMacs. Weiter werden wir uns auf sie konzentrieren.


Bei modernen leistungsstarken mobilen CPUs sind 80-90 Grad auf einem Chip unter Last die Norm. Gleichzeitig haben SOCs mit diesen CPUs ein Open-Chip-Design, wodurch der Wärmeübertragungsbereich klein wird. All dieser Wärmehaufen wird entfernt diese Lächerlichkeit ähnliches Design mit einem kleinen geschlossenen Flüssigkeitskreislauf.


Modernes mobiles Kühlsystem


Es versteht sich, dass solche Kühlsysteme größeren Belastungen ausgesetzt sind und häufiger gewartet werden müssen. Insbesondere bei Laptops und MacBooks kollabiert die Schicht aus getrockneter Wärmeleitpaste beim Transport vor Vibrationen schneller. Und eine vorzeitige Wartung ist nicht nur mit einem Produktivitätsverlust verbunden, sondern auch mit dem Austreten von Wärmerohren und „Deponien“ von Kristallen.


Die Wartung besteht darin, die Wärmeleitpaste auszutauschen und den Kühler alle sechs Monate bis zu einem Jahr nach Ablauf der Garantiezeit zu reinigen. Auf jeden Fall machen wir das so.


Aufgrund der geringen Fläche des Kristalls ist es sinnvoll, eine dielektrische Wärmeleitpaste mit hoher Wärmeleitfähigkeit zu verwenden (dies kostet etwa 800-1000 r pro Gramm). Verwenden Sie niemals flüssiges Metall! Andernfalls können Sie den Kristall höchstwahrscheinlich nicht von der Platte trennen!


Wenn Sie nicht über ausreichende Kenntnisse für dieses Verfahren verfügen, wenden Sie sich besser an den Service.


Hardwareeinstellungen


Dieses Kapitel konzentriert sich auf die Funktionen und Einstellungen des Geräts. Höchstwahrscheinlich sind Sie bereits damit vertraut.


Intel Hyper Threading


Dies ist die Intel-Technologie, die den Kernel-Hardware-Stream in zwei "virtuelle" unterteilt. Dank ihr sieht das System den 4-Kern-Prozessor als einen 8-Kern-Prozessor. Mit diesem Ansatz können Sie die Prozessorleistung effektiv nutzen. AMD hat eine ähnliche Technologie.


Oft stoße ich auf die Tatsache, dass viele Entwickler diese Funktion deaktiviert haben und im Allgemeinen nichts davon wissen. Die Aufnahme kann jedoch die Reaktionsfähigkeit des Studios erhöhen und die Leistung steigern. In einigen Fällen um 10-15%.


Es wird in den BIOS \ UEFI-Einstellungen Ihres Motherboards oder Laptops aktiviert. Ein Gegenstand wird auf ähnliche oder ähnliche Weise aufgerufen. Wenn Sie noch nichts über diese Technologie wussten, ist es sinnvoll, ihre Verfügbarkeit zu überprüfen und zu aktivieren, wenn dies nicht geschehen ist.


Intel Turbo Boost


Eine weitere bekannte Technologie. Tatsächlich handelt es sich um eine automatische kurzfristige Übertaktung der CPU, die während der Montage erheblich zunimmt. Gleichzeitig können mobile Prozessoren auf Temperaturen unweit von Tjunction erwärmt werden .


Wenn diese Technologie zuvor deaktiviert wurde, ist es daher ratsam, vor dem Einschalten den Status des Kühlsystems zu überprüfen und möglicherweise dessen Wartung durchzuführen, wie im vorherigen Kapitel beschrieben.


Es kann sowohl im BIOS \ UEFI als auch in den Betriebssystemeinstellungen aktiviert werden.


Intel Rapid Storage


Die Unterstützung dieses Technologie-Motherboards wird dringend empfohlen. Weitere Details finden Sie hier .


Ich kann nur empfehlen, die Treiber für diese Technologie rechtzeitig auf die neueste Version von der offiziellen Intel-Website zu aktualisieren. Auch wenn der Hersteller Ihres Laptops Sie mit älteren Treibern versorgt.


In meinem speziellen Fall erhöhte das Aktualisieren von der Treiberversion vom Hersteller auf die aktuelle die Geschwindigkeit der linearen Aufzeichnung um etwa 30% und die willkürliche Geschwindigkeit um 15%.


Wie installiere und aktualisiere ich IRST-Treiber unter Linux? Ich weiß es nicht (und im Allgemeinen ist dies möglich?). Wenn jemand weiß, schreibe in die Kommentare, ich werde den Artikel gerne ergänzen.


SSD Secure Erase


Die Leistung kostengünstiger SSD-Modelle kann im Laufe der Zeit abnehmen. Dies geschieht nicht immer aufgrund der "Verschlechterung" des Laufwerks. Möglicherweise ist TRIM in Ihrem Modell nicht sehr effizient implementiert.


Durch sicheres Löschen wird der Controller gezwungen, alle Speicherzellen als leer zu markieren. Dies sollte theoretisch die Leistung der SSD auf den Werkszustand zurücksetzen. Und löschen Sie auch alle Ihre Daten! Seien Sie vorsichtig, machen Sie Backups!


Sie können den Vorgang mit einem proprietären Dienstprogramm des Herstellers ausführen. Wenn es sich bei Ihrer Festplatte um eine Systemfestplatte handelt, benötigen Sie ein Flash-Laufwerk, das vom Dienstprogramm bootfähig gemacht wird. Befolgen Sie die nachstehenden Anweisungen.


In einem bestimmten Stadium müssen Sie das Laufwerk möglicherweise direkt während des Betriebs wieder anschließen. Daher ist im Fall von M.2 das Vorhandensein eines Adapters sehr wünschenswert.


Von der Verwendung von Dienstprogrammen von Drittanbietern für diesen Vorgang wird dringend abgeraten.


Wenn Ihre SSD jedoch in weniger als einem Jahr erheblich an Geschwindigkeit verloren hat, ist es besser, das Laufwerk auf ein anderes Modell umzustellen.


Hardware-Virtualisierung


Diese Technologie ist für den schnellen Betrieb des x86-Emulators erforderlich. Wenn Sie es deaktiviert haben, aktivieren Sie es in den BIOS \ UEFI-Einstellungen. Verschiedene Anbieter haben möglicherweise unterschiedliche Einstellungsnamen.


Ja, wir alle kennen Genymotion und BlueStacks, die ohne Hardwarevirtualisierung gut funktionieren. In den Abbildungen dieser Emulatoren werden jedoch einige oder viele Implementierungen der Android-API stark geändert, um die Arbeitsgeschwindigkeit zu erhöhen. Dies kann zu Verhaltensweisen führen, die auf einem realen Gerät niemals auftreten. Oder beim Debuggen können einige Fehler übersehen werden. Daher ist das Vorhandensein einer funktionierenden und flinken AVD sehr wünschenswert.


Betriebssystem und Software von Drittanbietern


In diesem Kapitel werden wir die mögliche Betriebssystemkonfiguration und Installation von Software von Drittanbietern diskutieren, um die Produktivität zu steigern.


Indizierung


Hier geht es darum, Windows und Spotlight unter Mac OS zu finden. Diese Mechanismen können während der Montage bis zu 15% der CPU-Leistung beanspruchen, da sie versuchen, alles zu indizieren, was in / build generiert wird.


Natürlich müssen von der Indexierung alle Verzeichnisse ausgeschlossen werden, mit denen das Studio arbeitet:


  • SDK-Verzeichnis
  • Studio-Verzeichnis
  • Projektverzeichnis (sehr zu empfehlen)
  • ~ / .gradle
  • ~ / .android
  • ~ / Android StudioX.X
  • ~ / lldb
  • Kotlin-Cache-Verzeichnis

Antivirus


Ich weiß, dass nicht jeder in der Entwicklungsumgebung beschlossen hat, ein Antivirenprogramm zu verwenden. Aber viele benutzen es. Manchmal auch unter Linux und Mac OS. Und seine Verwendung ist völlig gerechtfertigt.


Selbst wenn Sie Windows 10 und kein Antivirenprogramm verwenden, führt Windows Defender seine Funktionen aus.


Beim Zusammenbau kann ein Antivirus einen sehr bedeutenden Teil der CPU beanspruchen. Daher sollten alle in der Spalte "Indizierung" aufgeführten Verzeichnisse zu den Antiviren-Ausnahmen hinzugefügt werden. Es ist auch sinnvoll, die Prozessnamen des Studios und der JetBrains-JVM zu den Ausnahmen hinzuzufügen.


Abhängig von der Implementierung des Antivirenprogramms wird der CPU-Verbrauch während des Builds erheblich verringert oder es wird überhaupt kein CPU-Strom mehr verbraucht. Und die Montagezeit selbst wird spürbar verkürzt.


Laufwerk- oder Home-Verzeichnis-Verschlüsselung


Diese Funktionen sind auf allen gängigen Betriebssystemen vorhanden oder werden von Software von Drittanbietern implementiert. Natürlich erfordert Studioarbeit in verschlüsseltem Dateibereich möglicherweise mehr CPU-Leistung. Wie viel hängt von der Implementierung der Verschlüsselung ab. Es wird daher empfohlen, solche Funktionen entweder vollständig oder nach Möglichkeit für die in der Spalte "Indizierung" aufgeführten Verzeichnisse zu deaktivieren.


Funktioniert TRIM?


TRIM kann sowohl Hardware als auch Software implementiert werden. Im letzteren Fall liegt die Pflicht zum Aufrufen von TRIM beim Betriebssystem. Aus verschiedenen Gründen kann ein periodischer Anruf getrennt werden, was zu einem Abfall der Fahrgeschwindigkeit führt.


Sie können den Zustand testen und TRIM-Aufrufe mit speziellen Dienstprogrammen fortsetzen. Es wird empfohlen, Dienstprogramme des Herstellers des Laufwerks zu verwenden.


RAMDisk


Was RAMDisk ist, wissen die meisten schon lange. Aber wie effektiv ist es bei der Arbeit mit dem Studio?


Aus eigener Erfahrung werde ich nicht so viel sagen. Es sei denn, Sie übertragen das Projekt selbst, SDK, Studio usw. auf RAMDisk. Wenn Sie genug RAM haben ...


Mit einer einfachen Übertragung des Projekts mit einem Gewicht von mehr als 500 MB (die Abbildung ist im Build-Cache angegeben) konnte ich keine Steigerung von mehr als 15% erzielen. Anscheinend werden Aufrufe des SDK und der System-APIs verlangsamt. Infolgedessen ist eine solche Erhöhung ziemlich teuer.


Die folgende Methode ist viel effizienter und viel billiger.


Caching-Laufwerksanforderungen


Ähnliches ist in Mac OS implementiert. Im Vergleich zu den unten aufgeführten Technologien ist es jedoch nicht so effektiv.


Leider kenne ich nur zwei Implementierungen, und beide sind eng mit den Produkten der Hersteller verbunden. Es geht um Samsung RAPID und PlexTurbo .


Beide Technologien arbeiten nach ähnlichen Prinzipien (ich beschreibe, wie ich mich selbst verstanden habe):


  • Wenn eine Anforderung zum Lesen kleiner Volumes aufgetreten ist, werden diese in den Arbeitsspeicher verschoben und beim erneuten Lesen bereits von dort übernommen. Standard-RAM-Cache.
  • Wenn eine Anforderung zum Schreiben kleiner Daten aufgetreten ist, werden diese in den RAM-Cache verschoben. Als nächstes werden Schreibanforderungen mit dem Cache verglichen. Wenn Sie dieselben Daten auf denselben Pfaden neu schreiben - warum sollten Sie sie erneut in Hardware aufzeichnen? Und SSD wird länger leben.

Der einzige Unterschied besteht darin, dass die RAPID den verbleibenden freien RAM als Cache verwendet. Weniger Balance - weniger Cache-Größe, weniger Beschleunigung. Mit PlexTurbo können Sie die maximale Cache-Größe begrenzen und beim Systemstart von der Festplatte laden.


Bei Verwendung mit SATA 3 können Sie eine Steigerung von bis zu 50% erzielen. Wenn Sie ein NVMe-Laufwerk verwenden, ist es kleiner, aber häufig auch von Bedeutung.


Im Moment habe ich Samsung 860 EVO SATA 3 in Betrieb. Unter dem Spoiler befinden sich Benchmarks mit deaktiviertem i7 6700HQ und Turbo Boost.


860 EVO vor dem Einschalten des RAPID und zwei Läufe danach

SCHNELL aus



Erster Lauf



Zweiter Lauf



Sie können deutlich sehen, wie das System beim ersten Durchlauf beginnt, Daten zwischenzuspeichern. Das Endergebnis ist deutlich höher als bei SATA 3. Die Effektivität dieser Technologie hängt jedoch mehr von den CPU-Kapazitäten ab. Was beim Einschalten von Turbo Boost deutlich sichtbar ist.


860 EVO + RAPID + Turbo Boost


Synthetik ist natürlich gut. Aber alles funktioniert beim Lesen / Schreiben wiederholter kleiner Dateien. Und dies sind die häufigsten Vorgänge beim Ausführen von Android Studio.


Ich arbeite derzeit an einem Projekt mit einem Gesamt-Cache von über 700 MB, bestehend aus 10 Modulen. Eines der Module ist ein eigener kapt-basierter Codegenerator mit sehr schwerer Logik. Zwei NDK-Module, von denen eines auf Boost auf einem externen Pfad verweist. Der Rest sind Tonnen von Kotlin-Code.


Wenn wir den Zeitpunkt eines vollständigen Umbaus dieses Projekts vergleichen, sind die Ergebnisse wie folgt:


  • Bei ausgeschaltetem RAPID betrug die Zeit 1 m 47 s 633 ms. Tolerant.
  • Bei aktiviertem RAPID wurde der erste Neuaufbau in 1: 41s und 633 ms durchgeführt. In Fehler gestapelt.
  • Bei aktiviertem RAPID wurde der zweite Neuaufbau in 1 m 7 s 132 m durchgeführt. Hier ist der Gewinn. Etwas mehr als 37%, was signifikant ist. Weitere Umbauten zeigen eine noch kürzere Zeit, jedoch mit einem Unterschied von nicht mehr als 3-5 Sekunden zur letzten Messung. Welches ist unerheblich.

Bei kürzeren Prozessen macht sich das Wachstum im Studio sofort bemerkbar.


Daher können wir diese Technologien und Laufwerke als einen guten Weg zur Steigerung der Produktivität empfehlen. Es gab keine Beschwerden über Stabilität.


Android Studio


Viele dieser Tipps stammen von hier und werden durch meine Kommentare ergänzt. Der Rest ist das Ergebnis meiner Forschung und Erfahrung.


Updates


Der Rat ist zwar banal, aber immer relevant. Wenn Sie kein Legacy-Projekt haben, versuchen Sie nach Möglichkeit, die Versionen des Studios und der zugehörigen Komponenten (wie Gradle, Android Plugin, Kotlin Plugin) auf dem neuesten Stand zu halten. Google und JetBrains arbeiten viel daran, die Geschwindigkeit zu optimieren und neue Versionen einzubauen.


Manchmal kommt es natürlich zu Verlegenheit, wenn sich neue Versionen nicht mehr vorhersehbar verhalten und Fehler hervorrufen. Daher haben wir eine Regelung, wie wir in solchen Situationen handeln sollen.


In einigen Fällen müssen Sie Datei-> Caches ungültig machen und nach dem Rollback neu starten. Wenn Sie das Studio selbst aktualisieren, ist es besser, die Studio- und Einstellungsverzeichnisse zu sichern. Dies gilt, wenn Ihr Projekt welche enthält Krücken , .



, , API, library-. . , , .


, . , .


Instant Run


. " ". . -.


, , . . , - , Instant Run.


Build, Execution, Deployment -> Instant Run Enable Instant Run.


Attach to Process


. , ( ) . .


, - Attach debugger to Android process.


Gradle build configs


, buildConfig flavour , release- (, crashlytics, annotation- gradle-)- debug . - , , .


, buildConfig, PNG crunching, - debug-. png . :


 android { buildTypes { myConfig { crunchPngs false } } } //   android plugin android{ aaptOptions { cruncherEnabled false } } 

WebP


minimum api level 18, WebP. , . . , - .



(, app-), Compile independent modules in parallel Settings->Build, Execution, Deployment -> Compiler. CPU . - heap size , , .


gradle.properties


org.gradle.parallel=true


Gradle daemon


- , .


jvm gradle . . - . gradle.properties


org.gradle.daemon=true


Offline-


Gradle web- , . . , - .


Build, Execution, Deployment -> Gradle Offline work.


heap size Android Studio IDEA


. xmx1280m ( , RAM ). GC , , .


heap size , Gradle.


Gradle gradle.properties


org.gradle.jvmargs=-Xms1024m -Xmx4096m


1 4 . , .


Android Studio IDEA Help -> Edit Custom VM Options JVM- .


JVM , - . java -X .


Plugins


, IDE. - . . .


- . Settings -> Plugins , , . , - .


Inspections


Settings -> Editor -> Inspections IDE. .


, . - , .


Power Save mode


File. (, , Spell Checking ..). . , , VS Code.


, .


Settings Repository


, . . .


codestyle- Git, copyright , codestyle .


, , .idea , - .


AVD


AVD . 3 , ( x86-).


, x86- Pie AVD . . , .


, HAXM 2 RAM .


, AVD CPU - , . , CPU - .


- . Settings -> Advanced . , . , Cold Boot. .


AVD


GPU , - GPU, . , . Cold Boot.


Zusammenfassung


, . .


- . , .

Source: https://habr.com/ru/post/de433604/


All Articles