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:
- Android Games Jetpack kitaplıklarındaki ikili program sürümleri.
- İkili sürümleri AGDK indirme sayfasından edinebilirsiniz.
- 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 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
- Memory Advice API sürüm notları
- Memory Advice API referans belgeleri
- GitHub'da Bellek Önerisi örneği
- Memory Advice API kaynak kodu
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.