Hogyan segíthet az Android Go régebbi Android telefonokon az Android 8.1 Oreo futtatásában

Az Android Go a Google lecsupaszított verziója az Android Oreo 8.1-nek új, alacsony RAM-mal rendelkező eszközökhöz. Mint kiderült, régebbi eszközökön is segíthet az egyéni ROM-fejlesztésben.

Az Android Go a Google lecsupaszított Android-verziója, amely az Android 8.1 Oreo-n alapul, és célja, hogy az Android optimalizált verziója legyen az 1 GB-os vagy kisebb RAM-mal rendelkező alsókategóriás eszközökhöz. Tavaly májusban jelentették be a Google I/O Developer konferencián, és végül még ugyanabban az évben decemberben több részlet is napvilágot látott. Azt mondták, hogy a belépő szintű eszközök következő generációjához készült, hogy biztosítsák, hogy a benne lévők A fejlődő országok továbbra is használhatják a működő okostelefonokat az internet eléréséhez és használjon alkalmazásokat.

A Go számos teljesítményoptimalizálást és -fejlesztést kínál, beleértve 50 százalékkal kevesebb tárhelyet, mint egy átlagos Android Oreo telepítés. Az Android Runtime-nak (ART) és a kerneloptimalizálásnak köszönhetően egy Android Go-t futtató eszköz átlagosan 15 százalékkal gyorsabban fog futni, mint egy hagyományos Android Oreo telepítés ugyanazon az eszközön. Ezeket az optimalizálásokat a Google számos speciális összeállítási konfigurációján keresztül hajtják végre, amelyeket később ismertetünk.

Az Android Go emellett a speciális "Go" alkalmazások előnyeit is élvezi, mint pl A Files Go, YouTube Go és Google Maps Go. Ezek a Google által készített alkalmazások könnyű verziói, amelyeknek csökkentett követelményei vannak a hatékonyabb működéshez. Ez azt jelenti, hogy az Android Go eszközökkel rendelkezők ugyanazokat az előnyöket élvezhetik, mint a hagyományos Android Oreo felhasználók a Google alkalmazáskészletének használata anélkül, hogy sok pénzt kellene költenie egy zászlóshajóra vagy akár enyhén drágább költségvetésre eszköz.

Az egész arról szól, hogy a Google bővíti piacát. Mégis felveti a kérdést, hogy ha az Android Go többnyire összeépítési konfigurációból és optimalizált Google-alkalmazásokból áll, a fejlesztők elkészíthetik-e saját Android Go-verzióikat? Röviden, igen.

Néhány LineageOS fejlesztő már készít Android Go-optimalizált egyéni ROM-okat

Már látjuk, hogy az Android Go bizonyos mértékben elterjedt néhány egyéni ROM-fejlesztőtől, például az XDA Recognized Developer-től. AdrianDC, with his work on LineageOS 15.1 with Android Go build configurations for több régi Sony telefon. A szóban forgó készülékek a Sony Xperia SP, Sony Xperia T, Sony Xperia V és a Sony Xperia TX. Ezek az eszközök mind 2012-ből és 2013-ból származnak, de Android 8.1 Oreo alapú LineageOS 15.1-et kapnak majd Androidon Go build konfiguráció, amely lehetővé teheti az eszközök számára a Google „Go” alkalmazások gördülékeny futtatását, ha végül egy Android Go Gapp-készlet kiadták.

Bármely egyéni LOS-karbantartónak be kell tudnia vezetni egy Android Go konfigurált buildet, amely összeállítási konfigurációk és egyéb optimalizálások készletét jelenti. Ez azt jelenti, hogy azok, akik megvásárolták például a Sony Xperia T-t, egy Android 4.0.4 Ice Cream Sandwich rendszert futtató eszközt, használhatják majd jobban optimalizált Android 8.1 Oreo felépítése az eszközön, olyan alkalmazások használatával, mint a YouTube Go és a Google Maps Go. Nem fog a csúcsteljesítményszinteken futni, de annak kellene lennie használható—főleg egy 2012-ből származó készülék esetében.


Hogyan segíthet az Android Go régebbi Android telefonokon az Android Oreo futtatásában

A Build konfigurációk Androidon az Android rendszer különböző aspektusaira vonatkozó paraméterek halmaza, amelyeket akkor alkalmaznak, amikor a rendszerképet összeállítják az eszközre való flashelés céljából. Ezek általában megváltoztatják a rendszer viselkedését, és az Android Go főbb optimalizálásai származnak ezek az összeállítási konfigurációk.

Az Android Go fordításához használt összeállítási konfigurációk.

Beszéltem az XDA Recognized Developer-rel joshuus, aki nagyban segített megérteni a folyamatban lévő változásokat – mitől működik igazán az Android Go. Ezen összeállítási konfigurációk némelyike ​​nem módosítható újrafordítás nélkül, és magának a ROM-nak a tervének részét képezi. Ezek a teljesen nagybetűs zászlók.

Mindezek a zászlók azonban az Android számos különböző aspektusára vonatkoznak a tárolással és a memóriahasználattal kapcsolatban. Ezek tartalmazzák automatikus tároláskezelés, Android alacsony memória gyilkosa, a dex (dalvik voltkiolvasható fájlok) optimalizáló és RAM-korlátok az alkalmazások futtatásához. Az APK fájlok ezekből a DEX fájlokból állnak, így bizonyos értelemben elképzelhető, hogy egy APK fájl egyszerűen egy ZIP-fájl, amely sok .dex fájlt tartalmaz, ami valójában az Android fut, amikor végrehajt egy Alkalmazás. Az automatikus tárhelykezelést a Files Go alkalmazás fogja vezérelni, nem az Android rendszer.

Android Go Utilities Az Android alacsony RAM-módja

Az Android 4.4 KitKat rendszerben a Google új jelzőt vezetett be "alacsony ram", amelynek célja az volt, hogy 512 MB RAM-mal rendelkező eszközöket támogasson. Számos optimalizálást végez a rendszeren. Ezek a változtatások rendkívül előnyösek az alacsonyabb RAM-mal rendelkező eszközök számára.

Továbbfejlesztett memóriakezelés

  • Érvényesített memóriakímélő kernelkonfigurációk: Csere ZRAM-ra.
  • Ölje meg a gyorsítótárazott folyamatokat, ha nem gyorsítótárazott és túl nagy.
  • Ne engedje, hogy a nagy szolgáltatások visszahelyezzék magukat az A szolgáltatásokba (így nem okozhatják az indító megsemmisülését).
  • A tétlen karbantartás során túlságosan elterjedt folyamatok leállítása (még az általában megölhetetleneket is, mint például a jelenlegi IME).
  • Sorozatosan indítsa el a háttérszolgáltatásokat.
  • Alacsony RAM-ot használó eszközök hangolt memóriahasználata: szigorúbb out-of-memory (OOM) beállítási szintek, kisebb grafikus gyorsítótárak stb.

Ezek a fenti változtatások alapvetően biztosítják, hogy a rendszer a ZRAM használatával lehetőleg tömörített RAM-ot használjon. A ZRAM alapvetően egy RAM-lemez (olyan tárolóeszköz, amely RAM-ot használ, sokkal gyorsabban, mint az eszköz szokásos tárhelye) cserefájlként. A swap fájl akkor használatos, ha a RAM-használat magas, és az alkalmazások továbbra is memóriát igényelnek. Ez sokkal, de sokkal lassabb, mint a RAM, és lehetőség szerint kerülni kell. Lényegében egyszerűen tömöríti a memória tartalmát.

Csökkentett rendszermemória

  • Levágott system_server és SystemUI folyamatok (több MB mentett).
  • A dex gyorsítótárak előtöltése a Dalvikban (több MB mentése).
  • Érvényesített JIT-off opció (folyamatonként akár 1,5 MB-ot takarít meg).
  • Csökkentett folyamatonkénti betűtípus-gyorsítótár többletterhelése.
  • Bevezették az ArrayMap/ArraySet-et, és széles körben használták a keretrendszerben a HashMap/HashSet kisebb lábnyomú helyettesítőjeként.

Itt többnyire csak az eszközön futó különféle folyamatok csökkentett memóriafogyasztása történik, hogy a lehető legkonzervatívabb legyen. Az alapvető rendszerszolgáltatásokat lecsupaszították, hogy a lehető legkevesebb memóriát használjanak a háttérben, hiszen a RAM minden megabájtja fontos.

Az Android Go módosított alacsony memória-killert és dex-optimalizálást használ

Tekintettel arra, hogy az Android Go főként 1 GB vagy kevesebb RAM-mal rendelkező eszközökhöz készült, agresszívebb memóriakezelésre lesz szükség. Az Android Go néhány különböző módon módosítja a Low Memory Killer (LMK) funkciót. Először is, ha nagy mennyiségű RAM-ot használnak el, az alacsony memória gyilkos egy "kritikus nyomás" állapot. Ennek az az oka, hogy ha magas a memóriahasználat, a rendszer lomhává válik, mivel folyamatosan megpróbál hozzáférni egy swap fájlhoz az eszköz tárolójában. A RAM tisztán tartása megakadályozza, hogy a rendszer ezt a swap fájlt használja, és megakadályozza a memória feltörését. Memóriazavar akkor következik be, amikor az eszköz memóriája megtelik, és folyamatosan lapoznia kell a swap fájlt az eszköz tárolójában, ami jelentősen rontja a teljesítményt.

A szolgáltatások és a WiFi-szolgáltatások beállítása "sebesség-profil", ami azt jelenti, hogy ezekben a szolgáltatásokban a kiválasztott metódusokat idő előtt (AOT) fordítják le. (A metódus olyan kódkészletre vonatkozik, amely tetszőleges ponton név szerint hívható.) Ez csökkenti a RAM-használatot és tároló, mivel az Android rendszernek nem kell folyamatosan újrafordítania az alapvető szolgáltatásokat, amelyek futnak a eszköz. Eközben a megosztott APK-k „gyorsításra” vannak állítva, ami az akkumulátor élettartamának növelését és a CPU-ciklusok meghosszabbítását szolgálja azáltal, hogy optimalizálja a dex utasításokat a jobb teljesítmény érdekében.

Ami a dex-optimalizálást illeti, az Android Go elég sokat tesz. Kezdetnek 10 nap múlva meglesz egy alkalmazás leminősítése ha nem helytakarékosság céljából használják. A leminősítés itt nem az alkalmazás tényleges verziószámának csökkenését jelenti, hanem azt jelenti, hogy az alkalmazás dalvik_cache-je törlődik. A Dalvik gyorsítótárat arra használjuk, hogy a készüléknek ne kelljen újrafordítania az alkalmazásokat, hanem csak a legszükségesebb részeit fordítja le és gyorsítótárazza. A többit a Just in Time (JIT) fordító segítségével fordítják le, amikor az alkalmazás fut. Ha azonban a pályázatot 10 napig nem használják fel, akkor a kérelem előre összeállított lényeges részei is eltávolításra kerülnek. Ez azért történik, hogy a lehető legtöbb helyet szabadítson fel. Egy másik egyszerű változtatás, hogy az alkalmazás RAM-használata nem haladhatja meg a 256 MB-ot, így az alkalmazás nem használhatja fel az eszköz teljes RAM-ját.


Az Android Go az egyéni ROM-fejlesztés jövője az alsókategóriás eszközökön?

Jelenleg nem tudjuk a választ erre, de a jövő fényesnek tűnik a régebbi eszközökön történő egyedi ROM fejlesztések terén. Más problémák is adódhatnak, ha az Android újabb verzióját futtatja egy eszközön, de elméletileg egy optimalizáltabb Android Go-ra való frissítés, amely az Android Oreo alapú. kellene hogy egy régebbi, alsókategóriás készülék jobban működjön.