Android Studio 3.5 Canary lisää "Apply Changes", joka on Instant Run -korvaus

click fraud protection

Android Studio 3.5 esittelee Apply Changes -sovelluksen, joka on suositun sovellusten kehitystyökalun Instant Run -ominaisuuden seuraaja.

Android Studio 3.5 (tällä hetkellä Canary- ja Dev-kanavilla) sisältää nyt uuden tavan siirtää koodimuutoksia sovellukseesi ja nähdä niiden vaikutukset lennossa ilman, että sinun tarvitsee käynnistää sovellusta uudelleen. Se on nimeltään "Käytä muutoksia", ja se on "Instant Run" -ominaisuuden seuraaja aiemmissa versioissa. Android Studio.

Googlen Android-kehittäjien blogi sanoo seuraavaa muutosten käyttöönotosta:

Käytä muutoksia -toiminnon avulla voit siirtää koodin ja resurssien muutoksia käynnissä olevaan sovellukseesi käynnistämättä sovellusta uudelleen – ja joissakin tapauksissa käynnistämättä nykyistä toimintaa uudelleen. Apply Changes korvaa Instant Run täysin uudella lähestymistavalla koontiversion optimointiin. Sen sijaan, että kirjoittaisit APK: n tavukoodin uudelleen rakennusaikana, Apply Changes määrittää luokat uudelleen lennossa hyödyntämällä Android 8.0:n (API-taso 26) tai uudemman tuettua ajonaikaista instrumentointia.

Lisäksi Android Studio kehottaa nyt sinua päättämään, käynnistätkö sovelluksesi tai toiminnon uudelleen, kun se havaitsee, että muutokset eivät ole yhteensopivia Käytä muutoksia -toiminnon kanssa. Tämän lisäsäätimen pitäisi tarjota sinulle johdonmukaisempi ja ennakoitavampi käyttökokemus verrattuna Instant Runin toimintaan.

Blogitekstissä luetellaan joitain uuden toiminnon rajoituksia. Esimerkiksi laitteen, jolla testaat sovellustasi, on oltava vähintään käynnissä Android 8.0 Oreo (API-taso 26) ja tietyt koodimuutokset edellyttävät silti sovelluksen uudelleenkäynnistystä. Kuten "Instant Run" -toiminnossa, "Käytä muutoksia" pakottaa sovelluksesi käynnistymään uudelleen, jos:

  • Luokan, menetelmän tai kentän lisääminen tai poistaminen
  • Manifestin muuttaminen
  • Menetelmän allekirjoitusten muuttaminen
  • Menetelmien tai luokkien modifioijien muuttaminen
  • Luokkien uudelleennimeäminen
  • Luokkaperinnön muuttaminen
  • Resurssin lisääminen tai poistaminen

"Tunnetut ongelmat" -kohdassa blogitekstissä todetaan, että koska Google asetti alun perin tämän uuden ominaisuuden vakauden etusijalle suorituskyvyn edelle, "Käytä muutoksia" suoritetaan joskus. hitaammin kuin sen edeltäjäominaisuus "Instant Run". Myöskään x86_x64-emulaattorikuvia ei tueta, ja virheenkorjaustarkoituksiin vain Android Pie (API-taso 28) on tuettu. Näet täydellisen luettelon rajoituksista ja tunnetuista ongelmista alla olevasta lähdelinkistä.

Android Studio -tiimin Googlen työntekijällä oli tämä kerrottava yksityiskohtaisemmin "Käytä muutoksia" ja "Instant Run" välisistä eroista. Reddit:

Se tekee jotain hyvin, hyvin erilaista. Instant Runilla oli hyvin erityinen vaikutus koontiversioon, sillä se mittasi jokaisen luokkasi käännöshetkellä valmistaakseen ne korvaamaan ajon aikana luokan uudella versiolla. Se myös jakaa APK: si useisiin APK: ihin, jotta sovelluksesi voidaan ladata uudelleen asteittain.

Muutosten käyttöönotto ei tee siitä mitään. APK on pitkälti sama riippumatta siitä, käytätkö Muutoksia vai et. Sen sijaan se luottaa ART VM: n uusiin ajonaikaisiin instrumentointiominaisuuksiin luokkien dynaamiseen uudelleenlataukseen ja niiden korvaamiseen sovelluksen ollessa käynnissä. Tästä syystä se vaatii paljon uudempia Android-versioita.

"Apply Changes" odotetaan lopulta korvaavan "Instant Run" -vaihtoehdon beta- ja vakaassa kanavassa, kun Google tekee parannuksia sen suorituskykyyn ja vakauteen.


Lähde: Android Developers Blog