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:
- Android Games Jetpack kitaplıklarındaki ikili sürümler.
- AGDK indirme sayfasındaki ikili sürümler.
- AOSP'deki kaynak kodu.
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
- Memory Advice API sürüm notları
- Memory Advice API referans belgeleri
- GitHub'daki Memory Advice örneği
- Memory Advice API kaynak kodu
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.