Bagaimana Android Go Dapat Membantu Ponsel Android Lama Menjalankan Android 8.1 Oreo

Android Go adalah versi Android Oreo 8.1 Google yang disederhanakan untuk perangkat baru dengan RAM rendah. Ternyata, ini juga dapat membantu pengembangan ROM khusus pada perangkat lama.

Android Go adalah versi Android Google yang dipreteli berdasarkan Android 8.1 Oreo, dan bertujuan untuk menjadi versi Android yang dioptimalkan untuk perangkat kelas bawah dengan RAM 1 GB atau lebih rendah. Diumumkan Mei lalu di konferensi Pengembang Google I/O, dan akhirnya rincian lebih lanjut terungkap pada bulan Desember akhir tahun itu. Dikatakan dibuat untuk perangkat entry-level generasi berikutnya, untuk memastikan bahwa perangkat tersebut masuk negara berkembang masih dapat menggunakan ponsel pintar yang berfungsi untuk mengakses internet dan menggunakan aplikasi.

Go memiliki beragam optimalisasi dan peningkatan kinerja, termasuk menggunakan ruang penyimpanan 50 persen lebih sedikit dibandingkan rata-rata instalasi Android Oreo. Berkat Android Runtime (ART) dan pengoptimalan kernel, perangkat yang menjalankan Android Go rata-rata akan berjalan 15 persen lebih cepat dibandingkan perangkat Android Oreo biasa yang diinstal pada perangkat yang sama. Pengoptimalan ini dilakukan melalui sejumlah konfigurasi build khusus yang dibuat oleh Google, yang akan kami jelaskan nanti.

Android Go juga mendapat manfaat dari aplikasi "Go" khusus, seperti File Pergi, YouTube Pergi Dan Google Maps Pergi. Ini adalah aplikasi versi ringan buatan Google, yang persyaratannya dikurangi agar dapat berjalan lebih efisien. Artinya, pengguna perangkat Android Go dapat menikmati sebagian besar manfaat yang sama seperti yang dapat diperoleh pengguna Android Oreo biasa penggunaan rangkaian aplikasi Google tanpa harus mengeluarkan banyak uang untuk produk andalan atau bahkan anggaran yang sedikit lebih mahal perangkat.

Ini semua tentang Google memperluas pasar mereka. Namun hal ini menimbulkan pertanyaan bahwa jika Android Go sebagian besar terdiri dari konfigurasi build dan serangkaian aplikasi Google yang dioptimalkan, dapatkah pengembang membuat build Android Go mereka sendiri? Pendeknya, ya kita bisa.

Beberapa Pengembang LineageOS sudah membuat ROM khusus yang dioptimalkan untuk Android Go

Kami telah melihat sedikit penggunaan Android Go dari beberapa pengembang ROM khusus, seperti oleh Pengembang yang Diakui XDA AdrianDC, dengan karyanya pada LineageOS 15.1 dengan konfigurasi build Android Go beberapa ponsel Sony lama. Perangkat yang dimaksud adalah Sony Xperia SP, Sony Xperia T, Sony Xperia V, dan Sony Xperia TX. Semua perangkat ini berasal dari tahun 2012 dan 2013, namun mereka akan menerima LineageOS 15.1 berbasis Android 8.1 Oreo menggunakan Android Konfigurasi Go build, yang memungkinkan perangkat menjalankan aplikasi Google 'Go' dengan lancar, jika kumpulan Gapps Android Go pada akhirnya menjadi dilepaskan.

Setiap pengelola LOS harus dapat memperkenalkan build terkonfigurasi Android Go, yang merupakan kumpulan konfigurasi build dan pengoptimalan lainnya. Artinya, mereka yang mungkin telah membeli Sony Xperia T misalnya, perangkat yang menjalankan Android 4.0.4 Ice Cream Sandwich saat diluncurkan, akan dapat menggunakan a versi Android 8.1 Oreo yang lebih optimal pada perangkat, memanfaatkan aplikasi seperti YouTube Go dan Google Maps Go. Ini tidak akan berjalan pada tingkat kinerja andalan, tapi seharusnya begitu dapat digunakan—Khususnya untuk perangkat yang berasal dari tahun 2012.


Bagaimana Android Go Dapat Membantu Ponsel Android Lama Menjalankan Android Oreo

Konfigurasi build di Android adalah sekumpulan parameter yang berkaitan dengan berbagai aspek sistem Android yang diterapkan saat mengkompilasi image sistem untuk melakukan flashing ke perangkat. Biasanya hal ini mengubah perilaku sistem, dan pengoptimalan utama Android Go berasal konfigurasi build ini.

Konfigurasi build yang digunakan untuk mengkompilasi Android Go.

Saya berbicara dengan Pengembang yang Diakui XDA joshuous, yang sangat membantu saya memahami perubahan yang terjadi—apa yang sebenarnya membuat Android Go berfungsi. Beberapa konfigurasi build ini tidak dapat diubah tanpa kompilasi ulang, dan merupakan bagian dari cetak biru ROM itu sendiri. Ini adalah bendera dengan huruf kapital penuh.

Namun, semua tanda ini berkaitan dengan berbagai aspek Android terkait penyimpanan dan penggunaan memori. Ini termasuk manajemen penyimpanan otomatis, pembunuh memori rendah Android, dex (Dalvik mantanfile yang dapat dieksekusi) pengoptimal dan batas RAM untuk menjalankan aplikasi. File APK terdiri dari file DEX ini, jadi, file APK dapat dianggap hanya sebagai a File ZIP berisi banyak file .dex, yang sebenarnya dijalankan oleh Android saat menjalankan aplikasi. Pengelolaan penyimpanan otomatis justru akan dikontrol oleh aplikasi Files Go, bukan sistem Android.

Android Go Utilitas Mode RAM Rendah Android

Di Android 4.4 KitKat, Google memperkenalkan flag baru yang disebut "ram rendah", yang ditujukan untuk mendukung perangkat dengan RAM 512MB. Itu membuat sejumlah optimasi pada sistem. Perubahan ini sangat bermanfaat untuk perangkat dengan RAM lebih rendah.

Peningkatan manajemen memori

  • Konfigurasi kernel penghemat memori yang divalidasi: Tukar ke ZRAM.
  • Hentikan proses yang di-cache jika akan tidak di-cache dan terlalu besar.
  • Jangan izinkan layanan besar menempatkan dirinya kembali ke Layanan A (sehingga tidak dapat menyebabkan peluncur dimatikan).
  • Matikan proses (bahkan proses yang biasanya tidak dapat dihentikan seperti IME saat ini) yang menjadi terlalu besar dalam pemeliharaan yang menganggur.
  • Buat serial peluncuran layanan latar belakang.
  • Penggunaan memori yang disetel pada perangkat dengan RAM rendah: tingkat penyesuaian kehabisan memori (OOM) yang lebih ketat, cache grafis yang lebih kecil, dll.

Perubahan di atas pada dasarnya memastikan bahwa sistem memastikan untuk menggunakan RAM terkompresi jika memungkinkan, melalui penggunaan ZRAM. ZRAM pada dasarnya adalah RAMdisk (media penyimpanan yang menggunakan RAM, jauh lebih cepat dibandingkan menggunakan penyimpanan biasa pada perangkat) sebagai file swap. File swap digunakan ketika penggunaan RAM tinggi dan aplikasi masih memerlukan memori. Ini jauh lebih lambat dibandingkan RAM dan harus dihindari sebisa mungkin. Intinya, ini hanya memampatkan isi memori.

Mengurangi memori sistem

  • Proses system_server dan SystemUI dipangkas (menghemat beberapa MB).
  • Pramuat cache dex di Dalvik (menghemat beberapa MB).
  • Opsi JIT-off yang tervalidasi (menghemat hingga 1,5MB per proses).
  • Mengurangi overhead cache font per proses.
  • Memperkenalkan ArrayMap/ArraySet dan digunakan secara luas dalam kerangka kerja sebagai pengganti HashMap/HashSet yang lebih ringan.

Yang paling banyak terjadi di sini hanyalah pengurangan konsumsi memori dari berbagai proses yang berjalan di perangkat, agar sekonservatif mungkin. Layanan sistem penting telah dihilangkan untuk menggunakan memori sesedikit mungkin di latar belakang, karena setiap megabyte RAM penting.

Android Go Menggunakan Pembunuh Memori Rendah yang Dimodifikasi dan Optimasi dex

Mengingat Android Go ditujukan terutama untuk perangkat dengan RAM 1GB atau kurang, manajemen memori perlu lebih agresif. Android Go memodifikasi Low Memory Killer (LMK) dengan beberapa cara berbeda. Pertama, ketika sejumlah besar RAM terpakai, pembunuh memori yang rendah akan berpindah ke "tekanan kritis" negara. Hal ini dikarenakan ketika penggunaan memori tinggi, sistem akan menjadi lamban karena terus-menerus mencoba mengakses file swap di penyimpanan perangkat. Menjaga RAM tetap bersih akan mencegah sistem perlu menggunakan file swap ini dan mencegah kerusakan memori. Penghancuran memori terjadi ketika memori perangkat penuh, dan terus-menerus harus menyimpan file swap di penyimpanan perangkat, sehingga sangat menurunkan kinerja.

Layanan dan layanan WiFi disetel ke "profil kecepatan," yang berarti bahwa metode tertentu dalam layanan ini telah dikompilasi Ahead-of-Time (AOT). (Metode mengacu pada sekumpulan kode yang dapat dipanggil kapan saja berdasarkan nama.) Hal ini mengurangi penggunaan RAM dan penyimpanan, karena sistem Android tidak perlu terus-menerus mengkompilasi ulang layanan penting yang berjalan di perangkat. Sementara itu, APK bersama disetel ke "mempercepat", yang dirancang untuk memberikan masa pakai baterai ekstra dan siklus CPU ekstra dengan mengoptimalkan instruksi dex untuk mendapatkan kinerja yang lebih baik.

Dalam hal optimasi dex, Android Go melakukan cukup banyak hal. Sebagai permulaan, setelah 10 hari itu akan terjadi menurunkan versi aplikasi jika tidak digunakan untuk menghemat ruang. Penurunan versi di sini tidak mengacu pada penurunan nomor versi aplikasi yang sebenarnya, melainkan berarti dalvik_cache untuk aplikasi tersebut akan dihapus. Cache Dalvik digunakan agar perangkat tidak perlu mengkompilasi ulang aplikasi, melainkan hanya mengkompilasi bagian yang paling penting dan menyimpannya dalam cache. Sisanya dikompilasi menggunakan compiler Just in Time (JIT) pada saat aplikasi dijalankan. Namun, jika aplikasi tidak digunakan selama 10 hari, maka bagian penting dari aplikasi yang telah dikompilasi sebelumnya juga akan dihapus. Hal ini dilakukan untuk mengosongkan ruang sebanyak mungkin. Perubahan sederhana lainnya adalah tidak membiarkan penggunaan RAM suatu aplikasi melebihi 256MB sehingga suatu aplikasi tidak dapat menggunakan seluruh RAM di perangkat.


Apakah Android Go Masa Depan Pengembangan ROM Kustom pada Perangkat Kelas Bawah?

Saat ini, kami tidak mengetahui jawabannya, namun masa depan tampak cerah untuk pengembangan ROM khusus pada perangkat lama. Mungkin ada masalah lain dalam menjalankan versi Android yang lebih baru di perangkat, namun secara teori, peningkatan ke Android Go yang lebih optimal berdasarkan Android Oreo sebaiknya membuat perangkat lama dan kelas bawah bekerja lebih baik.