Platform Android berjalan pada premis bahwa memori bebas adalah memori yang sia-sia. Android mencoba menggunakan semua memori yang tersedia sepanjang waktu. Misalnya, sistem menyimpan aplikasi di memori setelah ditutup sehingga pengguna dapat beralih kembali dengan cepat ke aplikasi tersebut. Karena alasan ini, perangkat Android sering berjalan dengan memori bebas yang sangat sedikit (lihat Alokasi Memori Android di sini).
Proses daemon low memory killer (LMK) Android memantau status memori sistem Android yang sedang berjalan dan bereaksi terhadap tekanan memori tinggi dengan menghentikan proses yang paling tidak penting agar sistem tetap berperforma pada tingkat yang dapat diterima.
Untuk menentukan proses yang akan dihentikan, daemon LMK menggunakan skor out of memory yang disebut oom_adj_score untuk memprioritaskan proses yang berjalan. Proses dengan skor tinggi akan dihentikan terlebih dahulu. Aplikasi latar belakang dihentikan terlebih dahulu; proses sistem, terakhir. Tabel berikut mencantumkan kategori skor LMK dari tinggi ke rendah. Item dalam kategori skor tertinggi, di baris pertama, dihentikan terlebih dahulu:

Metrik LMK di Android vitals
Android vitals dapat membantu Anda memantau dan meningkatkan rasio LMK aplikasi. Vital Android hanya mengukur satu rasio LMK: Rasio LMK yang dirasakan pengguna.
Metrik ini mencerminkan persentase pengguna aktif harian yang mengalami setidaknya satu LMK yang dirasakan pengguna. LMK yang dirasakan pengguna adalah LMK yang kemungkinan telah diketahui oleh pengguna. Misalnya, LMK yang terjadi saat aplikasi Anda menampilkan aktivitas atau berjalan sebagai layanan latar depan.
Anda dapat menemukan metrik ini di bagian Stability di Android vitals:

Seperti halnya metrik vital inti lainnya, seperti ANR dan error, Anda dapat memfilter metrik, membandingkan metrik dengan aplikasi sejenis, atau memantau perubahan metrik selama jangka waktu yang lama (hingga 3 tahun). Data tersedia untuk aplikasi yang sudah ada mulai 28 Januari 2025.

Alat pembuatan profil memori
Alat berikut dapat membantu Anda menemukan dan mendiagnosis masalah memori dengan cara berikut:
- Lihat bagaimana aplikasi Anda mengalokasikan memori dari waktu ke waktu. Anda dapat menemukan grafik real-time tentang jumlah memori yang digunakan aplikasi Anda, jumlah objek Java yang dialokasikan, dan kapan pembersihan sampah memori dilakukan.
- Mulai peristiwa pembersihan sampah memori dan ambil snapshot heap Java selagi aplikasi berjalan.
- Rekam alokasi memori aplikasi Anda, periksa semua objek yang dialokasikan, dan lihat pelacakan tumpukan untuk setiap alokasi.
Memory Profiler Android Studio
Android Studio menyediakan Memory Profiler sebagai komponen Android Profiler yang membantu Anda mengidentifikasi kebocoran memori dan churn memori yang dapat menyebabkan aplikasi tersendat, berhenti merespons, dan bahkan tidak bekerja. Profiler menampilkan grafik real-time tentang penggunaan memori aplikasi dan memungkinkan Anda merekam heap dump, memaksa pembersihan sampah memori, dan melacak alokasi memori.

Alat pembuatan profil memori Unity
Jika menggunakan Unity Engine untuk mem-build aplikasi, Anda dapat mengikuti panduan pembuatan profil memori Unity. Unity menawarkan dua alat untuk menganalisis penggunaan memori di aplikasi Anda di Unity.
Yang pertama adalah modul Memory Profiler, yang merupakan profiler bawaan yang memberi Anda informasi dasar tentang tempat aplikasi menggunakan memori.

Alat kedua adalah paket Memory Profiler, yang merupakan paket Unity yang dapat Anda tambahkan ke project. Paket ini menambahkan jendela Memory Profiler tambahan ke Unity Editor. Dengan Memory Profiler, Anda dapat menganalisis penggunaan memori dalam aplikasi secara lebih mendetail. Anda dapat menyimpan dan membandingkan snapshot untuk menemukan kebocoran memori atau melihat tata letak memori untuk menemukan masalah fragmentasi memori.

Insight Memori Unreal
Aplikasi yang dibuat oleh Unreal Engine dapat menggunakan Unreal Memory Insights untuk melihat informasi mendetail tentang alokasi dan dealokasi memori, termasuk tag Low Level Memory (LLM) dan callstack yang terkait dengan blok memori.
Sistem kueri Memory Insights dapat menemukan alokasi langsung pada waktu kapan saja, mengidentifikasi perubahan penggunaan memori, menemukan kebocoran memori, dan membedakan alokasi jangka pendek dari alokasi jangka panjang.
Dari UE 5.4, Memory Insights mendukung pelacakan memori dengan callstack untuk project Android.
