Android Studio 3.5 Canary dodaje "Apply Changes", zamjenu za Instant Run

click fraud protection

Android Studio 3.5 predstavlja Apply Changes, nasljednika značajke Instant Run popularnog alata za razvoj aplikacija.

Android Studio 3.5 (trenutačno u kanalima Canary i Dev) sada nudi novi način za unos promjena koda u vašu aplikaciju i uvid u njihove učinke u hodu bez ponovnog pokretanja aplikacije. Nazvan jednostavno "Primijeni promjene", nasljednik je značajke "Trenutačno pokretanje" u prethodnim verzijama Android Studio.

Googleov Blog programera za Android kaže sljedeće o primjeni promjena:

Primijeni promjene omogućuje vam da unesete promjene koda i resursa u pokrenutu aplikaciju bez ponovnog pokretanja aplikacije—i, u nekim slučajevima, bez ponovnog pokretanja trenutne aktivnosti. Apply Changes zamjenjuje Instant Run s potpuno novim pristupom za optimizaciju izrade. Umjesto ponovnog pisanja bajt koda vašeg APK-a tijekom vremena izgradnje, Apply Changes redefinira klase u hodu koristeći instrumente za vrijeme izvođenja podržane u Androidu 8.0 (API razina 26) ili novijoj verziji.

Osim toga, Android Studio sada od vas traži da odlučite hoćete li ponovno pokrenuti svoju aplikaciju ili aktivnost kada otkrije da promjene nisu kompatibilne s Apply Changes. Ova bi vam dodatna kontrola trebala pružiti dosljednije i predvidljivije iskustvo u usporedbi s ponašanjem Instant Runa.

Post na blogu dalje navodi neka ograničenja nove funkcije. Na primjer, uređaj na kojem testirate svoju aplikaciju mora biti barem pokrenut Android 8.0 Oreo (API razina 26) i postoje određene promjene koda koje će i dalje zahtijevati ponovno pokretanje vaše aplikacije. Kao i kod "Instant Run", "Apply Changes" će prisiliti vašu aplikaciju da se ponovno pokrene ako ste:

  • Dodavanje ili brisanje klase, metode ili polja
  • Promjena manifesta
  • Promjena potpisa metode
  • Promjena modifikatora metoda ili klasa
  • Preimenovanje razreda
  • Promjena nasljeđivanja klasa
  • Dodavanje ili uklanjanje resursa

U odjeljku "Poznati problemi", post na blogu navodi da će se, budući da je Google u početku dao prednost stabilnosti nad performansama u ovoj novoj značajci, "Primijeni promjene" ponekad pokrenuti sporije od prethodne značajke "Instant Run". Također, slike emulatora x86_x64 nisu podržane, a za potrebe otklanjanja pogrešaka samo je Android Pie (API razina 28) podržan. Potpuni popis ograničenja i poznatih problema možete vidjeti na izvornoj vezi u nastavku.

Za detaljniji opis razlike između "Apply Changes" i "Instant Run", Googleov zaposlenik u timu za Android Studio rekao je ovo na Reddit:

Radi nešto vrlo, vrlo drugačije. Instant Run imao je vrlo specifičan utjecaj na izgradnju, instrumentirajući svaku od vaših klasa u vrijeme kompajliranja kako bi ih pripremio za zamjenu novom verzijom klase tijekom izvođenja. Također je podijelio vaš APK u nekoliko APK-ova kako bi se vaša aplikacija postupnije ponovno prenosila.

Apply Changes ne radi ništa slično. Vaš APK je gotovo isti bez obzira koristite li Apply Changes ili ne. Umjesto toga, oslanja se na nove mogućnosti instrumentacije vremena izvođenja ART VM-a za dinamičko ponovno učitavanje klasa i njihovu zamjenu dok aplikacija radi. Zbog toga su mu potrebne mnogo novije verzije Androida.

Očekuje se da će "Apply Changes" s vremenom zamijeniti "Instant Run" u Beta i Stable kanalima dok Google bude poboljšavao svoje performanse i stabilnost.


Izvor: Blog programera za Android