Android Instant Run Langsame Builds

9

Ich höre immer noch, dass der Instant-Run so diskutiert wird, als ob er in einer großartigen Form wäre, aber mein Team und ich haben regelmäßig erhebliche Probleme mit dem Feature und dadurch eine verschlechterte Codiererfahrung.

Vor dem sofortigen Lauf waren unsere sauberen Builds ~ 1 Minute 30 Sekunden und danach hatten wir Builds, die ~ 25 Sekunden oder die gelegentlichen 40 Sekunden waren. Während Instant Run in der Tat die Builds manchmal auf 6-12 Sekunden verringert, hat es uns manchmal dazu gebracht, in verrückte Long Builds zu geraten, von denen wir gesehen haben, dass sie bis zu 13 Minuten dauern, was Gewinne aus der inkrementellen Kompilierung weitgehend ausgleicht.

Es scheint auch, dass ein Großteil der Zeit, kleine Änderungen immer noch 40 Sekunden dauern. Manchmal sind es 6 Sekunden, aber das ist ziemlich selten.

Es fühlt sich so an, als ob Instant Run unsere Fähigkeit, konsequent und effizient zu arbeiten, beeinträchtigt hat. Hier sind einige unserer App-spezifischen Konfigurationen:

Android Studio 2.1.1, Android Plugin 2.1

%Vor%

Machen wir etwas falsch oder hat jemand eine Arbeit gefunden?

BEARBEITEN : Mehrere Entwickler scheinen dies zu bemerken. Ich habe hier einen Fehler. Fühlen Sie sich frei um es zu markieren und zur Diskussion hinzuzufügen.

    
spierce7 19.05.2016, 20:46
quelle

1 Antwort

1

Wir bekommen jetzt viel bessere Leistung aus dem Sofortlauf. Hier sind die Änderungen, die wir vorgenommen haben:

  1. Wir haben herausgefunden, dass Lombok einen Speicherleck im Daemon mit sofortigem Lauf verursachte. Wir haben das Speicherleck erkannt, weil wir mit einem frisch aufgewärmten Daemon ~ 15 Sekunden benötigen, aber nach einer Stunde, in der wir die App mit den Änderungen erstellt haben, würde unser Build für die einfachsten Änderungen 1 Minute dauern. Wir haben festgestellt, dass die Migration unserer App von Lombok den Speicherleck behebt.
  2. Wir haben den sofortigen Warm- und Warmcode-Austausch gestoppt. Wir haben festgestellt, dass dies oft zu Fehlern oder Problemen führte, ganz zu schweigen davon, dass Sie darauf achten mussten, ob das, was Sie geändert haben oder nicht, das Application neu laden musste. Stattdessen haben wir begonnen, die Cold-Swap-Funktion zu verwenden. Der Cold-Swap wird durch die Schaltfläche "Rerun" ausgelöst, bei der es sich um 4 Schaltflächen rechts neben der Schaltfläche "Wiedergabe / Start" in Android Studio handelt. Es ist die Stopp-Taste mit dem Pfeil auf der linken Seite und nach oben gehen. Wenn wir den Code im Schnelldurchlauf austauschen, haben wir ihn zuverlässiger gefunden, und er führt auch einen vollständigen Anwendungsneustart durch, der sich im Wesentlichen wie ein normaler Build verhält, außer schneller.
  3. Aktualisiert auf die neueste Android Studio-Plugin-Version. Das Plugin ist besser geworden. Es hat immer noch Probleme, aber es ist besser. Ich erwarte mehr Fehlerbehebungen mit dem Plugin 2.3

Insgesamt ist es immer noch nicht perfekt. Ich muss immer noch seltsame Build-Probleme aushalten und baue gelegentlich Cleans. Fühlt sich immer noch wie eine Beta an.

    
spierce7 07.12.2016, 04:07
quelle