Kuinka Android Go voi auttaa vanhempia Android-puhelimia käyttämään Android 8.1 Oreoa

click fraud protection

Android Go on Googlen poistama Android Oreo 8.1 -versio uusille, vähän RAM-muistia käyttäville laitteille. Kuten käy ilmi, se voi auttaa mukautetun ROM-kehityksen myös vanhemmissa laitteissa.

Android Go on Googlen irrotettu versio Androidista, joka perustuu Android 8.1 Oreoon, ja sen tavoitteena on olla Androidin optimoitu versio halvemmille laitteille, joissa on 1 Gt tai vähemmän RAM-muistia. Se julkistettiin viime toukokuussa Google I/O Developer -konferenssissa ja Lopulta lisätietoja paljastettiin myöhemmin saman vuoden joulukuussa. Sen sanottiin olevan tehty seuraavan sukupolven lähtötason laitteille, jotta varmistetaan, että ne kehitysmaat voivat edelleen käyttää toimivia älypuhelimia päästäkseen Internetiin ja käyttää sovelluksia.

Go sisältää laajan valikoiman suorituskyvyn optimointeja ja parannuksia, mukaan lukien se vie 50 prosenttia vähemmän tallennustilaa kuin keskimääräinen Android Oreo -asennus. Android Runtime (ART) ja ytimen optimoinnin ansiosta Android Goa käyttävä laite toimii keskimäärin 15 prosenttia nopeammin kuin tavallinen Android Oreo -asennus samaan laitteeseen. Nämä optimoinnit tehdään useiden Googlen tekemien erityisten koontikokoonpanojen avulla, joita selitämme myöhemmin.

Android Go hyötyy myös erityisistä "Go"-sovelluksista, kuten Tiedostot menevät, YouTube Go ja Google Maps Go. Nämä ovat kevyitä versioita Googlen sovelluksista, joiden tehokkaamman käytön vaatimukset ovat pienemmät. Tämä tarkoittaa, että Android Go -laitteiden käyttäjät voivat nauttia samoista eduista kuin tavalliset Android Oreo -käyttäjätkin Googlen sovellussarjan käyttö ilman, että sinun tarvitsee käyttää paljon rahaa lippulaivaan tai jopa hieman kalliimpaan budjettiin laite.

Kyse on siitä, että Google laajentaa markkinoitaan. Silti herättää kysymyksen, että jos Android Go koostuu enimmäkseen koontikokoonpanosta ja sarjasta optimoituja Google-sovelluksia, voivatko kehittäjät tehdä omia Android Go -koonnuksia? Lyhyesti, kyllä ​​me voimme.

Muutama LineageOS-kehittäjä rakentaa jo Android Go -optimoituja mukautettuja ROM-levyjä

Näemme jo jonkin verran Android Go: n käyttöönottoa joidenkin mukautettujen ROM-kehittäjien taholta, kuten XDA Recognized Developerilta. AdrianDC, hänen työnsä LineageOS 15.1:ssä Android Go -koontikokoonpanoilla useita vanhoja Sony-puhelimia. Kyseiset laitteet ovat Sony Xperia SP, Sony Xperia T, Sony Xperia V ja Sony Xperia TX. Nämä laitteet ovat kaikki peräisin vuosilta 2012 ja 2013, mutta ne saavat Android 8.1 Oreoon perustuvan LineageOS 15.1:n Android-käyttöjärjestelmällä Go build -kokoonpano, jonka avulla laitteet voivat käyttää Google Go -sovelluksia sujuvasti, jos Android Go -sarja Gapps-ohjelmistoa lopulta käytettäisiin. vapautettu.

Jokaisen yksittäisen LOS-ylläpitäjän tulisi pystyä esittelemään Android Go -konfiguroitu koontiversio, joka sisältää joukon koontikokoonpanon määrityksiä ja muita optimointeja. Tämä tarkoittaa, että ne, jotka ovat saattaneet ostaa esimerkiksi Sony Xperia T: n, Android 4.0.4 Ice Cream Sandwich -laitteen julkaisun yhteydessä, voivat käyttää paremmin optimoitu Android 8.1 Oreo -versio laitteessa hyödyntäen sovelluksia, kuten YouTube Go ja Google Maps Go. Se ei toimi suorituskyvyn lippulaivatasoilla, mutta sen pitäisi olla käyttökelpoinen-varsinkin laitteelle, joka on peräisin vuodelta 2012.


Kuinka Android Go voi auttaa vanhempia Android-puhelimia käyttämään Android Oreoa

Rakennuskokoonpanot Androidissa ovat joukko parametreja, jotka liittyvät Android-järjestelmän eri osa-alueisiin ja joita käytetään, kun järjestelmäkuvaa kootaan laitteeseen vilkkua varten. Tyypillisesti nämä muuttavat järjestelmän toimintaa, ja Android Go: n tärkeimmät optimoinnit tulevat nämä rakennuskokoonpanot.

Android Go: n kääntämiseen käytetyt koontikokoonpanot.

Puhuin XDA Recognized Developerin kanssa joshuus, joka auttoi minua suuresti ymmärtämään tapahtuvia muutoksia – mikä todella saa Android Gon toimimaan. Joitakin näistä koontikokoonpanoista ei voida muuttaa ilman uudelleenkääntämistä, ja ne ovat osa itse ROM: n suunnitelmaa. Nämä ovat kokonaan isoilla kirjaimilla kirjoitetut liput.

Kaikki nämä liput liittyvät kuitenkin Androidin moniin eri näkökohtiin, jotka liittyvät tallennustilaan ja muistin käyttöön. Nämä sisältävät automaattinen tallennustilan hallinta, Androidin heikon muistin tappaja, dex (dalvik esimecuable-tiedostot) optimoija ja RAM-rajoitukset sovellusten suorittamiseen. APK-tiedostot koostuvat näistä DEX-tiedostoista, joten tavallaan on mahdollista ajatella APK-tiedostoa yksinkertaisesti ZIP-tiedosto, joka sisältää paljon .dex-tiedostoja, joita Android itse asiassa käyttää, kun se suorittaa sovellus. Automaattista tallennustilan hallintaa ohjaa sen sijaan Files Go -sovellus, ei Android-järjestelmä.

Android Go Utilities Androidin Low RAM -tila

Android 4.4 KitKatissa Google esitteli uuden lipun nimeltä "matala-ram", joka oli tarkoitettu tukemaan laitteita, joissa on 512 Mt RAM-muistia. Se tekee useita optimointeja järjestelmään. Nämä muutokset ovat erittäin hyödyllisiä alhaisemman RAM-muistin laitteille.

Parannettu muistinhallinta

  • Vahvistetut muistia säästävät ytimen kokoonpanot: Vaihda ZRAM: iin.
  • Tappaa välimuistissa olevat prosessit, jos niistä ei ole välimuistia ja ne ovat liian suuria.
  • Älä anna suurten palveluiden palata A-palveluihin (joten ne eivät voi aiheuttaa kantoraketin tappamista).
  • Tappaa prosessit (jopa tavallisesti tappamattomat, kuten nykyinen IME), jotka käyvät liian suureksi tyhjäkäynnissä.
  • Sarjaa taustapalvelujen käynnistäminen.
  • Viritetty vähän RAM-muistia käyttävien laitteiden muistinkäyttö: tiukemmat out-of-memory (OOM) säätötasot, pienemmät grafiikkavälimuistit jne.

Nämä yllä olevat muutokset varmistavat pohjimmiltaan, että järjestelmä käyttää pakattua RAM-muistia mahdollisuuksien mukaan käyttämällä ZRAM-muistia. ZRAM on pohjimmiltaan RAM-levy (tallennusväline, joka käyttää RAM-muistia paljon nopeammin kuin laitteen tavallisen tallennustilan käyttäminen) swap-tiedostona. Swap-tiedostoa käytetään, kun RAM-muistia käytetään paljon ja sovellukset vaativat edelleen muistia. Tämä on paljon, paljon hitaampaa kuin RAM, ja sitä tulisi välttää mahdollisuuksien mukaan. Pohjimmiltaan se yksinkertaisesti pakkaa muistin sisällön.

Vähentynyt järjestelmämuisti

  • Leikattu system_server- ja SystemUI-prosessit (säästänyt useita megatavuja).
  • Esilataa dex-välimuistit Dalvikissa (säästänyt useita megatavuja).
  • Validoitu JIT-off-vaihtoehto (säästää jopa 1,5 Mt prosessia kohti).
  • Vähentynyt prosessikohtainen kirjasinvälimuisti.
  • Otettiin käyttöön ArrayMap/ArraySet ja sitä käytetään laajalti kehyksessä kevyemmän jalanjäljen korvaajana HashMap/HashSetille.

Tässä tapahtuu enimmäkseen vain pienentynyttä muistinkulutusta laitteessa käynnissä olevista eri prosesseista, jotta se olisi mahdollisimman konservatiivista. Tärkeimmät järjestelmäpalvelut on riisuttu mahdollisimman vähän muistin käyttämiseksi taustalla, sillä jokainen megatavu RAM-muistia on tärkeä.

Android Go käyttää muokattuja Low Memory Killer- ja dex-optimointeja

Koska Android Go on tarkoitettu pääasiassa laitteille, joissa on 1 Gt tai vähemmän RAM-muistia, tarvitaan aggressiivisempaa muistinhallintaa. Android Go muokkaa Low Memory Killer (LMK) -toimintoa muutamalla eri tavalla. Ensinnäkin, kun suuri määrä RAM-muistia on käytetty loppuun, muistin vähäinen tappaja siirtyy "kriittistä painetta"tila. Tämä johtuu siitä, että kun muistia käytetään paljon, järjestelmästä tulee hidas, koska se yrittää jatkuvasti käyttää laitteen tallennustilassa olevaa swap-tiedostoa. RAM-muistin pitäminen tyhjänä estää järjestelmää käyttämästä tätä swap-tiedostoa ja estää muistin tuhoamisen. Muistin kaatuminen tapahtuu, kun laitteen muisti on täynnä, ja sen on jatkuvasti sivuttava swap-tiedostoa laitteen tallennustilassa, mikä heikentää suorituskykyä voimakkaasti.

Palvelut ja WiFi-palvelut on asetettu arvoon "nopeus-profiili", mikä tarkoittaa, että valitut menetelmät näissä palveluissa käännetään AOT (Ahead-of-Time) -periaatteella. (Metodilla tarkoitetaan koodijoukkoa, jota voidaan kutsua milloin tahansa nimellä.) Tämä vähentää RAM-muistin käyttöä ja tallennustilaa, koska Android-järjestelmän ei tarvitse jatkuvasti kääntää uudelleen keskeisiä palveluita, jotka toimivat laite. Samaan aikaan jaetut APK: t on asetettu "nopeaksi", mikä on suunniteltu lisäämään akun käyttöikää ja lisäämään suorittimen jaksoja optimoimalla dex-ohjeet paremman suorituskyvyn saavuttamiseksi.

Dex-optimointien suhteen Android Go tekee melko paljon. Ensinnäkin se tulee 10 päivän kuluttua alentaa sovellusversiota jos sitä ei käytetä tilan säästämiseksi. Vanheneminen ei tarkoita sovelluksen todellisen versionumeron pienenemistä, vaan se tarkoittaa, että sovelluksen dalvik_cache pyyhitään. Dalvik-välimuistia käytetään siten, että laitteen ei tarvitse kääntää sovelluksia uudelleen, vaan se kokoaa vain tarpeellisimmat osat ja tallentaa sen välimuistiin. Loput käännetään Just in Time (JIT) -kääntäjällä, kun sovellus ajetaan. Jos hakemusta ei kuitenkaan käytetä 10 päivään, poistetaan myös hakemuksen olennaiset osat, jotka on laadittu etukäteen. Tämä tehdään vapauttamaan mahdollisimman paljon tilaa. Toinen yksinkertainen muutos on, että sovelluksen RAM-muistin käyttö ei saa ylittää 256 megatavua, jotta sovellus ei voi käyttää kaikkea laitteen RAM-muistia.


Onko Android Go Future mukautetun ROM-kehityksen halvemmissa laitteissa?

Tällä hetkellä emme tiedä vastausta tähän, mutta tulevaisuus näyttää valoisalta muokatun ROM-kehityksen osalta vanhemmissa laitteissa. Androidin uudemman version saamisessa laitteeseen voi olla muitakin ongelmia, mutta teoriassa päivitys optimoidumpaan Android Go -pohjaiseen Android Oreoon pitäisi saada vanhempi, halvempi laite toimimaan paremmin.