Android Studio 3.5 Canary pridáva „Apply Changes“, náhradu za okamžité spustenie

click fraud protection

Android Studio 3.5 predstavuje Apply Changes, nástupcu funkcie Instant Run populárneho nástroja na vývoj aplikácií.

Android Studio 3.5 (momentálne na kanáloch Canary a Dev) teraz ponúka nový spôsob, ako preniesť zmeny kódu do vašej aplikácie a sledovať ich účinky za chodu bez nutnosti reštartovať aplikáciu. Nazvaný jednoducho „Použiť zmeny“ je nástupcom funkcie „Okamžité spustenie“ v predchádzajúcich verziách Android Studio.

Google Blog vývojárov systému Android hovorí o Použiť zmeny nasledovné:

Použiť zmeny vám umožňuje preniesť zmeny kódu a prostriedkov do vašej spustenej aplikácie bez reštartovania aplikácie – a v niektorých prípadoch bez reštartovania aktuálnej aktivity. Aplikácia Apply Changes nahrádza funkciu Instant Run úplne novým prístupom k optimalizácii zostavy. Namiesto prepisovania bajtového kódu vášho súboru APK počas zostavovania, aplikácia Apply Changes predefinuje triedy za behu využitím inštrumentácie runtime podporovanej v systéme Android 8.0 (úroveň API 26) alebo vyššej.

Okrem toho vás Android Studio teraz vyzve, aby ste sa rozhodli, či chcete reštartovať aplikáciu alebo aktivitu, keď zistí, že zmeny nie sú kompatibilné s Použiť zmeny. Táto dodatočná kontrola by vám mala poskytnúť konzistentnejší a predvídateľnejší zážitok v porovnaní so správaním Instant Run.

Blogový príspevok ďalej uvádza niektoré obmedzenia novej funkcie. Napríklad zariadenie, na ktorom testujete svoju aplikáciu, musí byť aspoň spustené Android 8.0 Oreo (API úroveň 26) a existujú určité zmeny kódu, ktoré budú stále vyžadovať reštart vašej aplikácie. Rovnako ako v prípade funkcie „Okamžité spustenie“ aj možnosť „Použiť zmeny“ vynúti reštart vašej aplikácie, ak:

  • Pridanie alebo odstránenie triedy, metódy alebo poľa
  • Zmena manifestu
  • Zmena podpisov metód
  • Zmena modifikátorov metód alebo tried
  • Premenovanie tried
  • Zmena triedneho dedičstva
  • Pridanie alebo odstránenie zdroja

V časti „Známe problémy“ sa v blogovom príspevku uvádza, že keďže Google v tejto novej funkcii pôvodne uprednostňoval stabilitu pred výkonom, niekedy sa spustí „Použiť zmeny“ pomalšie ako jeho predchodca „Instant Run“. Tiež nie sú podporované obrázky emulátora x86_x64 a na účely ladenia je k dispozícii iba Android Pie (API Level 28). podporované. Úplný zoznam obmedzení a známych problémov si môžete pozrieť na zdrojovom odkaze nižšie.

Pre podrobnejší popis rozdielu medzi „Použiť zmeny“ a „Okamžité spustenie“ povedal zamestnanec Google v tíme Android Studio na Reddit:

Robí niečo veľmi, veľmi odlišné. Okamžité spustenie malo veľmi špecifický vplyv na zostavenie, pričom každú z vašich tried pri kompilácii pripravilo na ich nahradenie počas behu novou verziou triedy. Rozdelil tiež váš súbor APK do niekoľkých súborov APK, aby ste mohli aplikáciu znova nahrávať postupne.

Použiť zmeny nerobí nič podobné. Váš súbor APK je takmer rovnaký, či už použijete zmeny alebo nie. Namiesto toho sa spolieha na nové možnosti inštrumentácie za behu ART VM na dynamické opätovné načítanie tried a ich nahradenie počas spustenia aplikácie. To je dôvod, prečo vyžaduje oveľa novšie verzie systému Android.

Očakáva sa, že „Apply Changes“ nakoniec nahradí „Instant Run“ v kanáloch Beta a Stabil, pretože Google vylepšuje jeho výkon a stabilitu.


Zdroj: Android Developers Blog