Pengalaman pengguna yang luar biasa adalah inti dari misi Android, dan memenuhi janji tersebut memerlukan perangkat yang cepat, responsif, dan andal. Inilah sebabnya pengoptimalan memori menjadi lebih penting dari sebelumnya. Di seluruh ekosistem, perangkat baru mempertahankan atau bahkan mengurangi kapasitas memori fisiknya sebagai respons terhadap kenaikan harga memori, tetapi pengguna terus mengharapkan pengalaman aplikasi yang lancar dan berperforma tinggi yang sama.
Di Android 17, kami memperkenalkan batasan memori per aplikasi, dimulai dengan perangkat Pixel, untuk membantu melindungi keseluruhan pengalaman pengguna dari aplikasi yang menggunakan memori berlebih dan menyebabkan perlambatan di seluruh sistem. Selama tahun mendatang, makin banyak produsen akan memanfaatkan batas memori per aplikasi Android di seluruh portofolio konfigurasi RAM perangkat mereka dari perangkat 4 GB hingga 16 GB+. Jika aplikasi Anda melebihi batas ini, aplikasi akan diperlambat dan mungkin dihentikan. Mengoptimalkan jejak memori aplikasi Anda sangat penting untuk mencegah pembatasan OS dan mempertahankan pengalaman pengguna yang lancar.
Dalam postingan ini, kita akan mempelajari cara kerja batas ini, cara mengukur jejak memori menggunakan metrik Android vitals baru, dan langkah-langkah yang dapat ditindaklanjuti untuk mengoptimalkan aplikasi atau game Anda.
Memahami Batas Memori
Jika aplikasi Anda melebihi anggaran memori, Android akan mengambil tindakan progresif untuk melindungi responsivitas perangkat:
- Penukaran zRAM: Jika aplikasi Anda mencapai batas alokasinya, sistem akan memaksa halaman aplikasi Anda ke zRAM (RAM terkompresi). Meskipun zRAM mencegah pengusiran langsung, mengompresi dan mengekstrak halaman akan menambah beban CPU, yang dapat menyebabkan jank UI yang terlihat dan penurunan kecepatan pengalaman.
- Penghentian Proses: Jika aplikasi Anda terus meningkatkan penggunaan memorinya di luar batas zRAM, aplikasi akan dihentikan oleh sistem. Untuk menentukan apakah sesi aplikasi Anda terpengaruh oleh batasan ini di lapangan, Anda dapat memanggil
getDescription()dalamApplicationExitInfo. Jika sistem menerapkan batas, alasan keluar dilaporkan sebagaiREASON_OTHERdan string deskripsi akan berisi "MemoryLimiter:AnonSwap". Anda juga dapat memanfaatkan pembuatan profil berbasis pemicu menggunakanTRIGGER_TYPE_ANOMALYuntuk otomatis merekam heap dump saat batas memori tercapai.
Untuk mempelajari lebih lanjut batas memori per aplikasi dan penegakan sistem, tinjau dokumentasi Batas Memori Aplikasi Android 17. Untuk menguji aplikasi Anda pada konfigurasi perangkat yang berbeda, gunakan perintah adb Pembatas Memori.
Memantau dan Mendiagnosis Masalah Memori
Anda tidak dapat mengoptimalkan sesuatu yang tidak dapat Anda ukur. Mengidentifikasi kebocoran memori, alokasi heap yang berlebihan, dan error Kehabisan Memori (OOM) di seluruh ekosistem Android memerlukan pemanfaatan alat pemantauan pelengkap:
- Kesehatan tingkat makro dengan Android vitals: Untuk visibilitas tingkat populasi yang luas tanpa overhead tambahan, Android vitals di Konsol Google Play menyediakan metrik penting seperti Penggunaan Memori (RSS Anonim + swap) dan Penggunaan Memori Bitmap. Hal ini memberi Anda gambaran yang jelas tentang distribusi memori di berbagai status proses (latar depan, latar belakang, layanan yang dirasakan pengguna, dan di-cache) serta rentang class RAM, sehingga membantu Anda menemukan pencilan memori.
- Keluar dari Pembatas Memori & pelacakan OOM dengan Firebase Crashlytics: Untuk terus mendapatkan informasi tentang penurunan kualitas memori yang parah sebelum memengaruhi metrik utama Anda, Crashlytics versi 20.1.0 memperkenalkan data debug tambahan untuk membantu Anda mendeteksi, memprioritaskan, dan memperbaiki pengecualian Out-Of-Memory dan penghentian pembatas memori. Melacak peristiwa ini bersama dengan log kustom dan metadata nilai kunci memberi Anda konteks langsung tentang status proses saat terjadi kegagalan memori.
- Rekaman aktivitas di lapangan dengan ProfilingManager: Untuk tim yang dapat mempertahankan framework pengamatan performa, API
ProfilingManageryang diperkenalkan di Android 15 (level API 35) memungkinkan aplikasi Anda meminta dan mengumpulkan artefak debug memori mendetail secara terprogram seperti heap dump Java dan profil heap langsung dari perangkat produksi. Anda juga dapat memicu pengambilan dump heap berdasarkan sinyal sistem tertentu, sepertiTRIGGER_TYPE_OOMdanTRIGGER_TYPE_ANOMALY.
Baca dokumentasi kami untuk mempelajari lebih lanjut teknik pemantauan memori lainnya.
Ringkasan & Langkah Berikutnya
Dengan Android memperluas batas memori per aplikasi di semua kelas RAM, sekarang saatnya mengaudit jejak memori Anda:
- Prioritaskan pengoptimalan memori: Cegah aplikasi Anda terpengaruh oleh batas memori aplikasi dengan menggunakan praktik terbaik.
- Pantau penggunaan memori: Pantau perilaku memori aplikasi Anda untuk mendeteksi dan menyelesaikan perilaku anomali.
- Mengoptimalkan game Anda: Ikuti panduan terbaru untuk game dan aplikasi multimedia kompleks guna memaksimalkan penghematan memori di seluruh status proses.
Referensi & Sumber Bermanfaat
- Perubahan Perilaku Android 17: Batas Memori Aplikasi
- Android Vitals: Penggunaan Memori (metrik RSS + swap) dan Penggunaan Memori Bitmap
- Blog Developer Android: Membuat langkah-langkah efisiensi memori menjadi prioritas untuk Android 17
- Panduan Developer: Mengelola memori aplikasi Anda
-
Berita ProdukHari ini kami merilis Android 17 dan menyediakannya di sebagian besar perangkat Pixel yang didukung. Cari perangkat baru yang menjalankan Android 17 dalam beberapa bulan mendatang.
Matthew McCullough • Waktu baca: 13 menit -
Berita ProdukDi Google I/O ‘26, kami menunjukkan bagaimana kemajuan terbaru dalam ekosistem Android dapat membantu Anda meningkatkan kualitas aplikasi sekaligus memaksimalkan efisiensi pengembangan.
Ataul Munim • Waktu baca: 3 menit -
Berita ProdukPilar ekosistem Android adalah komitmen bersama kami terhadap kepercayaan pengguna. Seiring dengan berkembangnya lanskap seluler, pendekatan kami untuk melindungi informasi sensitif juga berkembang.
Robert Clifford • Waktu baca: 3 menit
Dapatkan insight pengembangan Android terbaru yang dikirim ke kotak masuk Anda setiap minggu.