Android Studio 3.5 iepazīstina ar Apply Changes — populārā lietotņu izstrādes rīka funkcijas Instant Run pēcteci.
Android Studio 3.5 (pašlaik Kanāriju un Dev kanālos) tagad piedāvā jaunu veidu, kā ievietot koda izmaiņas jūsu lietotnē un uzreiz skatīt to ietekmi, nerestartējot lietotni. Tas ir saukts vienkārši par “Lietot izmaiņas”, un tas ir funkcijas “Tūlītēja palaišana” pēctecis iepriekšējās versijās. Android Studio.
Google Android izstrādātāju emuārs saka tālāk par Apply Changes:
Lietotne Apply Changes (Lietot izmaiņas) ļauj nosūtīt koda un resursu izmaiņas jūsu darbinātajai lietotnei, nerestartējot lietotni un dažos gadījumos arī nerestartējot pašreizējo darbību. Lietotne Apply Changes aizstāj Instant Run ar pilnīgi jaunu pieeju izveides optimizācijai. Tā vietā, lai pārrakstītu APK baitkodu izveides laikā, Apply Changes no jauna definē klases, izmantojot operētājsistēmā Android 8.0 (API 26. līmenis) vai jaunākā versijā atbalstīto izpildlaika instrumentu.
Turklāt Android Studio tagad piedāvā izlemt, vai restartēt lietotni vai darbību, ja tiek konstatēts, ka izmaiņas nav saderīgas ar Apply Changes. Šai papildu vadībai vajadzētu nodrošināt jums konsekventāku un paredzamāku pieredzi salīdzinājumā ar Instant Run darbību.
Emuāra ziņojumā ir uzskaitīti daži jaunās funkcionalitātes ierobežojumi. Piemēram, ierīcei, kurā testējat savu lietotni, ir vismaz jādarbojas Android 8.0 Oreo (API 26. līmenis) un ir noteiktas koda izmaiņas, kuru dēļ lietotne joprojām būs jārestartē. Tāpat kā “Instant Run” gadījumā, “Lietot izmaiņas”, jūsu lietotne tiks restartēta, ja:
- Klases, metodes vai lauka pievienošana vai dzēšana
- Manifesta maiņa
- Metodes parakstu maiņa
- Metožu vai klašu modifikatoru maiņa
- Klašu pārdēvēšana
- Klases mantojuma maiņa
- Resursa pievienošana vai noņemšana
Sadaļā “Zināmās problēmas” emuāra ziņojumā ir norādīts, ka, tā kā Google sākotnēji šajā jaunajā funkcijā prioritāti noteica stabilitātei, nevis veiktspējai, dažkārt tiks palaists “Lietot izmaiņas”. lēnāk nekā tā priekšteča funkcija "Instant Run". Tāpat netiek atbalstīti x86_x64 emulatora attēli, un atkļūdošanas nolūkos tiek izmantots tikai Android Pie (API līmenis 28) atbalstīts. Pilnu ierobežojumu un zināmo problēmu sarakstu varat skatīt tālāk esošajā avota saitē.
Lai iegūtu detalizētāku aprakstu par atšķirību starp “Lietot izmaiņas” un “Tūlītēja palaišana”, kāds Google darbinieks Android Studio komandā teica: Reddit:
Tas dara kaut ko ļoti, ļoti atšķirīgu. Tūlītējai palaišanai bija ļoti specifiska ietekme uz veidošanu, kompilēšanas laikā nodrošinot katras klases instrumentus, lai sagatavotu tās aizstāšanai izpildlaika laikā ar jaunu klases versiju. Tas arī sadalīja jūsu APK vairākos APK, lai pakāpeniski atkārtoti augšupielādētu jūsu lietotni.
Lietotnē Izmaiņas nav nekas līdzīgs. Jūsu APK fails ir ļoti vienāds neatkarīgi no tā, vai izmantojat lietotni Izmaiņas. Tā vietā tas paļaujas uz jaunajām ART VM izpildlaika instrumentu iespējām, lai dinamiski atkārtoti ielādētu klases un aizstātu tās, kamēr lietotne darbojas. Tāpēc tam ir nepieciešamas daudz jaunākas Android versijas.
Paredzams, ka “Lietot izmaiņas” beta un stabilajos kanālos aizstās “Instant Run”, jo Google uzlabos tā veiktspēju un stabilitāti.
Avots: Android izstrādātāju emuārs