Panduan ini menjelaskan cara menggunakan plugin Memory Advice untuk Unity guna mengintegrasikan Memory Advice API ke dalam game Unity Anda.
Persyaratan
Plugin ini didukung di:
Unity 2019 dengan Android NDK r19
Unity 2020 dengan Android NDK r19
Unity 2021 dengan Android NDK r21
Unity 2022 dengan Android NDK r23
Anda mungkin akan mengalami masalah yang tidak terduga jika menggunakan Unity dan Android NDK versi lain. Untuk menemukan versi NDK yang digunakan oleh penginstalan Unity Anda, lihat tindakan Panduan penyiapan lingkungan Android untuk Unity.
Mendownload plugin
Download plugin-nya.
Mengimpor plugin
Plugin ini adalah Paket Unity yang dapat Anda impor ke dalam project. Untuk mengimpor
plugin, klik Assets > Impor Paket > Custom Package, lalu pilih
.unitypackage
file yang Anda download. Anda juga dapat mengeklik dua kali
File .unitypackage
setelah membuka project Unity Anda.
Menggunakan library
Bagian ini menjelaskan cara menggunakan library ini.
Melakukan inisialisasi library
Anda perlu menginisialisasi library sekali saat aplikasi dimulai. Untuk melakukannya, tambahkan kode ini ke project Anda:
void Start()
{
MemoryAdviceErrorCode errorCode = MemoryAdvice.Init();
if(errorCode == MemoryAdviceErrorCode.Ok)
{
Debug.Log("Memory advice init successfully");
}
}
Melakukan polling untuk status memori
Anda dapat mengambil status memori aplikasi dengan melakukan polling library pada interval pilihan Anda. Gunakan fungsi MemoryAdvice_getMemoryState setiap kali Anda perlu melakukan polling pada library:
MemoryState memoryState = MemoryAdvice.GetMemoryState();
switch (memoryState)
{
case MemoryState.Ok:
//The application can safely allocate memory.
break;
case MemoryState.ApproachingLimit:
// The application should minimize memory allocation.
break;
case MemoryState.Critical:
// The application should free memory as soon as possible
// until the memory state changes.
break;
}
Menyiapkan watcher
Anda juga dapat menyiapkan watcher dan mendaftarkan Memory Advice API, dan fungsi watcher Anda akan dipanggil saat status mendekati batas atau dalam keadaan kritis status memori (tetapi bukan untuk status oke). Misalnya, kode berikut membuat watcher dan meminta notifikasi Memory Advice API setiap 2 detik:
MemoryAdviceErrorCode errorCode = MemoryAdvice.RegisterWatcher(2000,
new MemoryWatcherDelegateListener((MemoryState state) =>
{
switch (memoryState)
{
case MemoryState.ApproachingLimit:
// The application should minimize memory allocation.
break;
case MemoryState.Critical:
// The application should free memory as soon as possible
// until the memory state changes.
break;
}
})
);
if(errorCode == MemoryAdviceErrorCode.Ok)
{
Debug.Log("Memory Advice watcher registered successfully");
}
Langkah berikutnya
Anda dapat mendownload project contoh Unity yang menyediakan UI sederhana untuk mengalokasikan dan mengosongkan memori, serta menggunakan Memory Advice API untuk memantau status memori.
Baca ringkasan untuk referensi tambahan dan melaporkan masalah.