Memory Advice API'ye genel bakış

Bellek Tavsiyesi API'si, Android uygulamalarının bellek kullanımıyla ilgili güvenlik sınırları içinde kalmasına yardımcı olan deneysel bir yerel API'dir. API, kullanılan bellek kaynaklarının miktarını tahmin ederek ve belirli eşikler aşıldığında uygulamayı bilgilendirerek bu amaca ulaşır. API, tahmini bellek kullanım yüzdesini doğrudan uygulamanıza da bildirebilir.

API tarafından sağlanan tahminler, uygulamanızın bellek kullanımını ne zaman ayarlaması gerektiğini belirlemenize veya uygulamanızın gelecekteki sürümlerinde iyileştirilecek alanları bulmanıza yardımcı olur. Ayarlamalar, bellek tüketimini değiştiren her şeyi (ör. görsel ve ses öğelerinin ayrıntılarını ve kalitesini düşürme) içerebilir.

Tahmini bellek kaynakları, malloc tarafından ayrılan yerel yığın belleği ve OpenGL ES ile Vulkan Graphics API'leri tarafından ayrılan grafik belleğini içerir. Bu nedenle, Memory Advice API oyunlar ve grafik yoğun uygulamalar için idealdir.

Tahminler aşağıdakilere göre yapılır:

  • API tarafından toplanan cihaz metrikleri
  • Cihazlardan alınan makine öğrenimi verileri
  • Cihaz testi

Bellek Önerisi API'si, API düzeyinde bir dizi bellek önerisi durumu tanımlar ve bunları bir dizi işlevle uygulamalara iletir.

Başlayın Unity oyunlarında kullanmaya başlama

Dağıtımlar

Bellek Tavsiyesi API'si, Android Games Development Kit'in (AGDK) bir parçasıdır ve aşağıdaki kanallar aracılığıyla dağıtılır:

Oyunlar, derleme ortamları için önerilen Memory Advice API sürümünü kullanmalıdır. Android Studio için Jetpack sürümünü öneririz. Android Game Development Extension (AGDE) için AGDK indirme sayfasında yayınlamanızı öneririz.

Özellikler

Bu bölümde, Memory Advice API özellikleri açıklanmaktadır.

Bellek durumu

API, uygulamalara aşağıdaki bellek durumlarını bildirir:

  • MEMORYADVICE_STATE_OK
  • MEMORYADVICE_STATE_APPROACHING_LIMIT
  • MEMORYADVICE_STATE_CRITICAL

Ayrıntılar için memoryadvice_memorystate referans sayfalarına bakın.

Bellek durumunu bildirme

API, bellek durumunun yoklama veya geri çağırma mekanizması aracılığıyla bildirilmesini destekler:

  • Yoklama:
    Bir uygulama, bellek durumunu almak için API'yi istediği zaman çağırabilir.

  • Geri çağırma:
    Bir uygulama, Memory Advice API ile geri çağırma işlevi kaydedebilir. Uygulama, geri arama için arama sıklığını belirtir. API, uygulama belleği koşulu güvenli sınıra yaklaştığında veya kritik düzeyde düşük olduğunda geri çağırmanın ne zaman yürütüleceğini belirlemek için sıklığı kullanır. Bellek durumu güvenliyse geri çağırma işlemi başlatılmaz. Geri çağırma, uygulamaya ait bir iş parçacığından değil, kendi iş parçacığından yürütülür.

Maliyet ve arama sıklığıyla ilgili dikkat edilmesi gereken noktalar

Bellek Tavsiyesi API'si, bellek durumunu oluşturmak için işlem süresini kullanır. Maliyet cihaza göre değişir ancak genellikle arama başına 1 ms ile 3 ms arasındadır. Bellek durumunun ne sıklıkta yoklanacağını veya bellek durumu geri çağırma için hangi sıklığın belirtileceğini belirlerken bu ek yükü göz önünde bulundurmanız gerekir.

Şartlar

Cihaz gereksinimleri

  • Android 4.4 (API düzeyi 19) veya sonraki sürümler.

Uygulamalarla ilgili şartlar

  • API yalnızca yerel uygulamaları (temelde C/C++ ile yazılmış uygulamalar) destekler.

  • API yalnızca fiziksel cihazları destekler. Emülatörler desteklenmez.

NDK sürümü gereksinimleri

Memory Advice API sürümü, en popüler NDK sürümlerini destekler. Desteklenen NDK listesi için sürüm notlarına bakın.

Ek Kaynaklar

Sorunlar ve Geri Bildirimler

Memory Advice API beta sürümündedir ve geri bildirimlere açıktır. API'yi kullanırken önerileriniz olursa veya sorunlarla karşılaşırsanız IssueTracker'da sorun oluşturun.