Memory Advice API'ye genel bakış

Bellek Önerileri 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, bunu kullanımdaki bellek kaynaklarının miktarını tahmin ederek ve ardından belirli eşikler aşıldığında uygulamayı bilgilendirerek yapar. API, bellek kullanımının tahmini yüzdesini doğrudan uygulamanıza da bildirebilir.

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

Tahmini bellek kaynakları, malloc tarafından ayrılan yerel yığın belleği ve OpenGL ES ile Vulkan Grafik API'leri tarafından ayrılan grafik belleğini içerir. Bu sayede Bellek Önerisi API'si, oyunlar ve yoğun grafik kullanan 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

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

Başlayın Unity oyunları için başlangıç

Dağıtımlar

Bellek Önerileri 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ındaki sürümü ö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 durumunu bir anket veya geri çağırma mekanizması aracılığıyla bildirmeyi destekler:

  • Anket:
    Bir uygulama, bellek durumunu almak için API'yi dilediğinde çağırabilir.

  • Geri çağırma:
    Uygulamalar, Memory Advice API'ye geri çağırma işlevi kaydedebilir. Uygulama, geri arama için arama sıklığını belirtir. API, uygulama belleği durumu güvenli sınıra yaklaştığında veya kritik derecede düşük olduğunda geri çağırma işlevinin ne zaman yürütüleceğini belirlemek için sıklık değerini kullanır. Bellek durumu güvenliyse geri çağırma işlevi çağrılmaz. Geri çağırma, uygulamaya ait bir iş parçacığından değil, kendi iş parçacığında 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 hesaplama süresini kullanır. Maliyet cihaza göre değişir ancak genellikle arama başına 1 ila 3 milisaniye arasındadır. Bellek durumunu ne sıklıkta sorgulayacağınızı veya bellek durumu geri çağırması için hangi sıklığı belirteceğinizi belirlerken bu 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ı (birincil olarak 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 Bildirim

Memory Advice API beta sürümündedir ve geri bildirimlerinizi bekliyoruz. API'yi kullanırken önerileriniz veya karşılaştığınız sorunlar varsa IssueTracker'da sorun oluşturun.