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.