Memory Advice API'ye genel bakış

Memory Advice API, Android uygulamalarının bellek kullanımı konusundaki güvenlik sınırları içinde kalmalarına yardımcı olan deneysel bir yerel API'dir. API, kullanımdaki bellek kaynaklarının miktarını tahmin ederek ve ardından belirli eşikler aşıldığında uygulamayı bilgilendirerek bunu yapar. API, bellek kullanımının tahmini yüzdesini de 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. Bu düzenlemeler, görsel ve işitsel öğelerin ayrıntılarını ve kalitesini azaltmak gibi bellek tüketimini değiştiren her şeyi kapsayabilir.

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

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 öneri durumunu tanımlar ve bir dizi işlevle bunları uygulamalara iletir.

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

Dağıtımlar

Memory Advice API, 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, aşağıdaki bellek durumlarını uygulamalara 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, bir 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:
    Bir uygulama, Memory Advice API ile bir geri çağırma işlevi kaydedebilir. Uygulama, geri çağırma için arama sıklığını belirtir. Uygulama bellek koşulu güvenli sınıra yaklaştığında veya kritik düzeyde düşük olduğunda API, geri çağırmanın ne zaman yürütüleceğini belirlemek için bu 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 süresini kullanır. Maliyet cihaza göre değişir, ancak genellikle arama başına 1 ms ile 3 ms. arasında olur. Bellek durumunun ne sıklıkta sorgulanacağını veya bellek durumu geri çağırması için hangi sıklığın belirtileceğini belirlerken bu ek yükü göz önünde bulundurmanız gerekir.

Gereksinimler

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ılmış uygulamalar) destekler.

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

NDK sürümü gereksinimleri

Memory Advice API sürümü çoğu popüler NDK sürümünü 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.