Memulai Memory Advice API untuk game Unity

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.