Kā Android Go var palīdzēt vecākiem Android tālruņiem, kuros darbojas operētājsistēma Android 8.1 Oreo

Android Go ir Google samazināta Android Oreo 8.1 versija jaunām ierīcēm ar mazu RAM. Kā izrādās, tas var palīdzēt pielāgotu ROM izstrādi arī vecākām ierīcēm.

Android Go ir Google samazināta Android versija, kuras pamatā ir Android 8.1 Oreo, un tās mērķis ir būt optimizētai Android versijai zemas klases ierīcēm ar 1 GB vai mazāku RAM. Par to tika paziņots pagājušā gada maijā Google I/O izstrādātāju konferencē un galu galā sīkāka informācija tika atklāta tā paša gada decembrī. Tika teikts, ka tas ir paredzēts nākamās paaudzes sākuma līmeņa ierīcēm, lai nodrošinātu, ka tie, kas atrodas jaunattīstības valstis joprojām var izmantot funkcionējošus viedtālruņus, lai piekļūtu internetam un izmantot lietotnes.

Go ir plašs veiktspējas optimizāciju un uzlabojumu klāsts, tostarp tas aizņem par 50 procentiem mazāk vietas krātuvē nekā vidēja Android Oreo instalācija. Pateicoties Android Runtime (ART) un arī kodola optimizācijai, ierīce, kurā darbojas Android Go, darbosies vidēji par 15 procentiem ātrāk nekā parasta Android Oreo instalēšana tajā pašā ierīcē. Šīs optimizācijas tiek veiktas, izmantojot vairākas specializētas Google izveidotās būvēšanas konfigurācijas, kuras mēs paskaidrosim vēlāk.

Android Go gūst labumu arī no īpašām "Go" lietojumprogrammām, piemēram, Faili Go, YouTube Go un Google Maps Go. Šīs ir Google izstrādāto lietojumprogrammu vieglās versijas, kurām ir samazinātas prasības, lai tās darbotos efektīvāk. Tas nozīmē, ka tie, kuriem ir Android Go ierīces, var baudīt lielāko daļu to pašu priekšrocību, ko var baudīt arī parastie Android Oreo lietotāji Google lietojumprogrammu komplekta izmantošana, netērējot daudz naudas par galveno vai pat nedaudz dārgāku budžetu ierīci.

Tas viss ir par to, ka Google paplašina savu tirgu. Tomēr rodas jautājums, vai, ja Android Go galvenokārt sastāv no būvējuma konfigurācijas un optimizētu Google lietotņu komplekta, vai izstrādātāji var izveidot savus Android Go būvējumus? Īsumā, Jā, mēs varam.

Daži LineageOS izstrādātāji jau veido Android Go optimizētus pielāgotus ROM

Mēs jau redzam zināmu Android Go pārņemšanu no dažiem pielāgotiem ROM izstrādātājiem, piemēram, no XDA Recognized Developer. AdrianDC, ar savu darbu pie LineageOS 15.1 ar Android Go būvēšanas konfigurācijām vairākus vecus Sony telefonus. Attiecīgās ierīces ir Sony Xperia SP, Sony Xperia T, Sony Xperia V un Sony Xperia TX. Visas šīs ierīces ir datētas ar 2012. un 2013. gadu, taču tās saņems LineageOS 15.1, kuras pamatā ir Android 8.1 Oreo, izmantojot Android. Go build konfigurācija, kas var ļaut ierīcēm nevainojami palaist Google Go lietotnes, ja galu galā tiks izmantots Android Go Gapps komplekts. atbrīvots.

Ikvienam atsevišķam LOS uzturētājam vajadzētu būt iespējai ieviest Android Go konfigurētu būvējumu, kas ir būvējuma konfigurāciju un citu optimizāciju kopa. Tas nozīmē, ka tie, kuri, piemēram, ir iegādājušies Sony Xperia T — ierīci, kurā palaišanas brīdī darbojas operētājsistēma Android 4.0.4 Ice Cream Sandwich, varēs izmantot labāk optimizēta Android 8.1 Oreo versija ierīcē, izmantojot tādas lietojumprogrammas kā YouTube Go un Google Maps Go. Tas nedarbosies ar vadošajiem veiktspējas līmeņiem, bet tā vajadzētu būt lietojams— jo īpaši ierīcei, kas datēta ar 2012. gadu.


Kā Android Go var palīdzēt vecākiem Android tālruņiem palaist Android Oreo

Build konfigurācijas operētājsistēmā Android ir parametru kopa, kas attiecas uz dažādiem Android sistēmas aspektiem, kas tiek lietoti, kompilējot sistēmas attēlu mirgošanai ierīcē. Parasti tie maina sistēmas darbību, un Android Go galvenās optimizācijas tiek veiktas šīs konstrukcijas konfigurācijas.

Būvējuma konfigurācijas, kas tiek izmantotas Android Go kompilēšanai.

Es runāju ar XDA Recognized Developer joshuus, kas man ļoti palīdzēja izprast notiekošās izmaiņas — kas patiešām liek Android Go darboties. Dažas no šīm būvējuma konfigurācijām nevar mainīt bez atkārtotas kompilēšanas, un tās ir daļa no paša ROM projekta. Šie ir karogi ar lielo burtu.

Tomēr visi šie karodziņi attiecas uz daudziem dažādiem Android aspektiem saistībā ar krātuvi un atmiņas izmantošanu. Tie ietver automātiska krātuves pārvaldība, Android mazās atmiņas slepkava, dex (dalvik piemecutable faili) optimizētājs un RAM ierobežojumi lietotņu palaišanai. APK faili sastāv no šiem DEX failiem, tāpēc savā ziņā APK failu var uzskatīt par vienkāršu ZIP fails, kurā ir daudz .dex failu, kas patiesībā ir tas, ko Android palaiž, kad tā izpilda pieteikumu. Tā vietā automātisko krātuves pārvaldību kontrolēs lietojumprogramma Files Go, nevis Android sistēma.

Android Go Utilities Android mazas RAM režīms

Operētājsistēmā Android 4.4 KitKat Google ieviesa jaunu karogu ar nosaukumu "zema-ram", kura mērķis bija atbalstīt ierīces ar 512 MB RAM. Tas veic vairākas sistēmas optimizācijas. Šīs izmaiņas ir ļoti izdevīgas ierīcēm ar mazāku RAM.

Uzlabota atmiņas pārvaldība

  • Validētas atmiņu taupošas kodola konfigurācijas: pārslēgt uz ZRAM.
  • Iznīciniet kešatmiņā saglabātos procesus, ja tie tiks atbrīvoti no kešatmiņas un ir pārāk lieli.
  • Neļaujiet lieliem pakalpojumiem atgriezties pakalpojumā A (lai tie nevarētu izraisīt palaišanas programmas bojāeju).
  • Iznīciniet procesus (pat tādus, kurus parasti nevar iznīcināt, piemēram, pašreizējo IME), kas dīkstāves laikā kļūst pārāk apjomīgi.
  • Serializējiet fona pakalpojumu palaišanu.
  • Pielāgots atmiņas lietojums ierīcēm ar zemu RAM: stingrāki ārpus atmiņas (OOM) regulēšanas līmeņi, mazākas grafikas kešatmiņas utt.

Šīs iepriekš minētās izmaiņas pamatā nodrošina, ka sistēma, izmantojot ZRAM, pēc iespējas izmanto saspiestu RAM. ZRAM būtībā ir RAM disks (uzglabāšanas datu nesējs, kas izmanto RAM daudz ātrāk nekā parastā ierīces atmiņa) kā mijmaiņas fails. Mijmaiņas fails tiek izmantots, ja RAM lietojums ir liels un lietojumprogrammām joprojām ir nepieciešama atmiņa. Tas ir daudz, daudz lēnāks nekā RAM, un, ja iespējams, no tā vajadzētu izvairīties. Būtībā tas vienkārši saspiež atmiņas saturu.

Samazināta sistēmas atmiņa

  • Apgriezti sistēmas_servera un SystemUI procesi (saglabāti vairāki MB).
  • Iepriekš ielādējiet dex kešatmiņas pakalpojumā Dalvik (saglabāti vairāki MB).
  • Validēta JIT-off opcija (vienā procesā ietaupa līdz 1,5 MB).
  • Samazināta katra procesa fontu kešatmiņa.
  • Ieviests ArrayMap/ArraySet un plaši izmantots sistēmā kā mazāks HashMap/HashSet aizstājējs.

Pārsvarā šeit notiek tikai samazināts atmiņas patēriņš no dažādiem ierīcē palaistiem procesiem, lai tas būtu pēc iespējas konservatīvāks. Būtiski sistēmas pakalpojumi ir noņemti, lai fonā izmantotu pēc iespējas mazāk atmiņas, jo katrs RAM megabaits ir svarīgs.

Android Go izmanto modificētu mazas atmiņas killer un dex optimizācijas

Ņemot vērā, ka Android Go galvenokārt ir paredzēts ierīcēm ar 1 GB vai mazāku RAM, būs nepieciešama agresīvāka atmiņas pārvaldība. Android Go pārveido Low Memory Killer (LMK) dažos dažādos veidos. Pirmkārt, kad tiek iztērēts liels RAM apjoms, mazās atmiņas iznīcinātājs pāriet uz "kritiskais spiediens" Valsts. Tas ir tāpēc, ka, ja atmiņas lietojums ir liels, sistēma kļūs gausa, jo pastāvīgi mēģinās piekļūt mijmaiņas failam ierīces atmiņā. Ja RAM būs brīva, sistēmai nebūs jāizmanto šis mijmaiņas fails, kā arī novērsīs atmiņas iejaukšanos. Atmiņa tiek bojāta, kad ierīces atmiņa ir pilna, un pastāvīgi ir jāmaina mijmaiņas fails ierīces krātuvē, tādējādi ievērojami pasliktinot veiktspēju.

Pakalpojumi un WiFi pakalpojumi ir iestatīti uz "ātruma profils”, kas nozīmē, ka atlasītās metodes šajos pakalpojumos tiek apkopotas pirms laika (AOT). (Metode attiecas uz koda kopu, kuru jebkurā vietā var izsaukt pēc nosaukuma.) Tas samazina RAM lietojumu un krātuve, jo Android sistēmai nebūs nepārtraukti jāpārkompilē būtiski pakalpojumi, kas darbojas uz ierīci. Tikmēr koplietotie APK faili ir iestatīti uz “paātrinot”, kas ir paredzēts, lai nodrošinātu papildu akumulatora darbības laiku un papildu CPU ciklus, optimizējot dex norādījumus, lai nodrošinātu labāku veiktspēju.

Attiecībā uz dex optimizāciju Android Go dara diezgan daudz. Iesācējiem tas notiks pēc 10 dienām pazemināt lietojumprogrammas versiju ja tas netiek izmantots, lai ietaupītu vietu. Pazemināšana šeit neattiecas uz faktiskā lietojumprogrammas versijas numura samazināšanos, bet drīzāk tas nozīmē, ka lietotnes dalvik_cache tiks dzēsta. Dalvik kešatmiņa tiek izmantota, lai ierīcei nebūtu jāpārkompilē lietotnes, tā vietā tiek apkopotas tikai nepieciešamākās tās daļas un saglabātas tās kešatmiņā. Pārējais tiek apkopots, izmantojot Just in Time (JIT) kompilatoru, kad lietojumprogramma tiek palaista. Ja pieteikums netiek izmantots 10 dienas, tad tiek noņemtas arī iepriekš sastādītās pieteikuma būtiskās daļas. Tas tiek darīts, lai atbrīvotu pēc iespējas vairāk vietas. Vēl viena vienkārša izmaiņa ir neļaut lietotnes RAM lietojumam pārsniegt 256 MB, lai lietotne nevarētu izmantot visu ierīces RAM.


Vai Android ir pielāgotas ROM izstrādes nākotne zemas klases ierīcēs?

Pašlaik mēs nezinām atbildi uz šo jautājumu, taču nākotne izskatās spoža pielāgotai ROM izstrādei vecākām ierīcēm. Var rasties citas problēmas, iegūstot jaunāku Android versiju, kas darbojas ierīcē, taču teorētiski jaunināšana uz vairāk optimizētu Android Go, kuras pamatā ir Android Oreo. vajadzētu lai vecāka, zemas klases ierīce darbotos labāk.