Android Studio 3.5 Canary doda »Uporabi spremembe«, zamenjavo za takojšnji zagon

Android Studio 3.5 predstavlja Apply Changes, naslednika funkcije Instant Run priljubljenega orodja za razvoj aplikacij.

Android Studio 3.5 (trenutno v kanalih Canary in Dev) zdaj ponuja nov način za potiskanje sprememb kode v vašo aplikacijo in takojšnje spremljanje njihovih učinkov, ne da bi morali znova zagnati aplikacijo. Preprosto imenovan »Uporabi spremembe«, je naslednik funkcije »Takojšnji zagon« v prejšnjih različicah Android Studio.

Googlov Blog razvijalcev za Android pravi naslednje o uporabi sprememb:

Uporabi spremembe vam omogoča, da potisnete kodo in spremenite sredstva v svojo delujočo aplikacijo, ne da bi znova zagnali aplikacijo – in v nekaterih primerih tudi brez ponovnega zagona trenutne dejavnosti. Apply Changes nadomešča Instant Run s popolnoma novim pristopom za optimizacijo gradnje. Namesto prepisovanja bajtne kode vašega APK-ja med gradnjo, aplikacija Apply Changes sproti redefinira razrede z izkoriščanjem izvajalnega instrumentarija, podprtega v sistemu Android 8.0 (raven API-ja 26) ali višjem.

Poleg tega vas Android Studio zdaj pozove, da se odločite, ali želite znova zagnati aplikacijo ali dejavnost, ko zazna, da spremembe niso združljive z možnostjo Uporabi spremembe. Ta dodatni nadzor bi vam moral zagotoviti bolj dosledno in predvidljivo izkušnjo v primerjavi z vedenjem Instant Run.

Objava v blogu nadalje navaja nekatere omejitve nove funkcionalnosti. Naprava, na kateri preizkušate svojo aplikacijo, mora na primer delovati vsaj Android 8.0 Oreo (API ravni 26) nekatere spremembe kode pa bodo še vedno zahtevale ponovni zagon aplikacije. Tako kot pri »Takojšnjem zagonu« bo tudi »Uporabi spremembe« vašo aplikacijo prisilil v ponovni zagon, če:

  • Dodajanje ali brisanje razreda, metode ali polja
  • Spreminjanje manifesta
  • Spreminjanje podpisov metod
  • Spreminjanje modifikatorjev metod ali razredov
  • Preimenovanje razredov
  • Spreminjanje dedovanja razreda
  • Dodajanje ali odstranjevanje vira

V razdelku »Znane težave« objava v spletnem dnevniku navaja, da je Google v tej novi funkciji prvotno dal prednost stabilnosti pred zmogljivostjo, zato se bo včasih zagnala »Uporabi spremembe«. počasneje kot njegova predhodna funkcija "Takojšnji tek". Prav tako niso podprte slike emulatorja x86_x64 in za namene odpravljanja napak je na voljo samo Android Pie (raven 28 API-ja). podprt. Celoten seznam omejitev in znanih težav si lahko ogledate na spodnji povezavi do vira.

Za podrobnejši opis razlike med »Uporabi spremembe« in »Takojšnjim zagonom« je Googlov uslužbenec v skupini Android Studio povedal tole Reddit:

Dela nekaj zelo, zelo drugačnega. Instant Run je imel zelo specifičen vpliv na gradnjo, saj je instrumentaliziral vsakega od vaših razredov v času prevajanja, da jih pripravi na zamenjavo med izvajanjem z novo različico razreda. Prav tako je vaš APK razdelil na več APK-jev, da bi vašo aplikacijo postopoma znova naložili.

Uporabi spremembe ni nič všeč. Vaš APK je skoraj enak, ne glede na to, ali uporabljate Apply Changes ali ne. Namesto tega se zanaša na nove zmožnosti izvajalnega instrumenta ART VM za dinamično ponovno nalaganje razredov in njihovo zamenjavo med izvajanjem aplikacije. Zato zahteva veliko novejše različice Androida.

Pričakuje se, da bo »Uporabi spremembe« sčasoma nadomestil »Takojšnji zagon« v kanalih Beta in Stable, ko bo Google izboljšal svojo zmogljivost in stabilnost.


Vir: Blog razvijalcev za Android