Unity oyunları için Bellek Advice API'sini kullanmaya başlama

Bu kılavuzda, Unity'ye özel Memory Advice eklentisinin entegre etmek için Memory Advice API'yi Unity oyununuz var.

Gereksinimler

Eklenti aşağıdaki platformlarda desteklenir:

  • Android NDK r19 ile Unity 2019

  • Android NDK r19 ile Unity 2020

  • Android NDK r21 ile Unity 2021

  • Android NDK r23 ile Unity 2022

Unity'nin diğer sürümlerini kullanıyorsanız beklenmedik sorunlarla karşılaşabilirsiniz. Android NDK. Unity yüklemenizde kullanılan NDK sürümünü bulmak için şuraya bakın: "the" Android ortamı kurulum kılavuzu bir stratejimiz var.

Eklentiyi indirin

Eklentiyi indirin.

Eklentiyi içe aktarma

Eklenti, projenize aktarabileceğiniz bir Unity Paketidir. İçe aktarmak için Öğeler > Paketi İçe Aktar > Özel Paket'i tıklayın ve .unitypackage dosya indirildi. İsterseniz .unitypackage dosyasını açın.

Kitaplığı kullanma

Bu bölümde, kitaplığın nasıl kullanılacağı açıklanmaktadır.

Kitaplığı ilk kullanıma hazırlama

Uygulama başlatıldığında kitaplığı ilk kullanıma hazırlamanız gerekir. Bunu yapmak için projenize şu kodu ekleyin:

void Start()
{
    MemoryAdviceErrorCode errorCode = MemoryAdvice.Init();
    if(errorCode == MemoryAdviceErrorCode.Ok)
    {
        Debug.Log("Memory advice init successfully");
    }
}

Bellek durumu için anket

Uygulamanızın bellek durumunu şurada kitaplığı yoklayarak alabilirsiniz: belirleneceğini konuşacağız. MemoryAdvice_getMemoryState parametresini kullanın işlevini kullanın:

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;
}

İzleyici kurun

Ayrıca izleyici de ayarlayabilirsiniz. Memory Advice API'sini ve izleyici işlevinizi kaydedin eyalet, sınıra veya kritik sınıra yaklaştığında bellek durumu (ama ok durumu için değil). Örneğin, aşağıdaki kod bir izleyici oluşturur ve her 2 saniyede bir Memory Advice API bildirimi istiyor:

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");
}

Sırada ne var?

Unity örnek projemizi indirebilirsiniz bellek ayırmak ve serbest bırakmak için basit bir kullanıcı arayüzü sağlar ve Bellek durumunu izlemek için Memory Advice API'ye gidin.

Şunlar için genel bakış ek kaynaklar ve sorunları bildirmenin bir yoludur.