Memory Advice API'ye genel bakış

Memory Advice API, Android uygulamalarının bellek kullanımı için güvenlik sınırları dahilinde kalmasına yardımcı olan deneysel bir yerel API'dir. API, kullanımda olan bellek kaynaklarının miktarını tahmin ederek ve ardından belirli eşikler aşıldığında uygulamayı bilgilendirerek bunu gerçekleştirir. API, tahmini bellek kullanımını da doğrudan uygulamanıza 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ştirilebilecek alanları bulmanıza yardımcı olur. Düzenlemeler, görsel ve işitsel öğelerin ayrıntılarını ve kalitesini azaltmak gibi bellek tüketimini değiştiren her şeyi içerebilir.

Tahmini bellek kaynakları, Malloc tarafından tahsis edilen yerel yığın belleği ve Memory Advice API'yi oyunlar ve yoğun grafik kullanan uygulamalar için ideal hale getiren OpenGL ES ve Vulkan Graphics API'leri tarafından tahsis edilen grafik belleği içerir.

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

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

Memory Advice API, API düzeyinde bir dizi bellek tavsiyesi durumu tanımlar ve bunları, bir dizi işlevle uygulamalara iletir.

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

Dağıtımlar

Memory Tavsiye API'si, Android Oyun Geliştirme Kiti'nin (AGDK) bir parçasıdır ve aşağıdaki kanallar üzerinden 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 sürümü kullanmanı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_Tamam
  • BMEMORYADVICE_STATE_APPROACHING_LIMIT
  • BMEMORYADVICE_STATE_KRİTİK

Ayrıntılar için Memoryadvice_cachestate referans sayfalarına göz atın.

Bellek durumunu bildirme

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

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

  • Geri çağırma:
    Uygulamalar, Memory Advice API ile geri çağırma işlevi kaydedebilir. Uygulama, geri çağırma için arama sıklığını belirtir. API, uygulama bellek 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 frekansı kullanır. Bellek koşulu güvenliyse geri çağırma çağrı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ığı konusunda dikkat edilmesi gereken noktalar

Memory Advice API, bellek durumunu oluşturmak için işlem zamanını kullanır. Bu maliyet cihaza göre değişir, ancak arama başına genellikle 1 ms ile 3 ms dahildir. Bellek durumunun ne sıklıkta yoklanacağını veya bellek durumu geri çağırma sıklığının ne olacağını 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ı (esas olarak C/C++ dilinde yazılan 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 Bildirim

Memory Advice API beta sürümündedir ve geri bildirimlerinizi memnuniyetle karşılar. API'yi kullanırken önerileriniz varsa veya sorun yaşarsanız IssueTracker'da sorun oluşturun.