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