Yerel tahsisleri kaydetme

Yerel kod yazıyorsanız ve bellek kullanımıyla ilgili endişeleriniz varsa optimize etme fırsatı olup olmadığını öğrenmek için uygulamanızın yerel tahsislerini profillemek faydalı olabilir.

Uygulamanızın belleğini neden profillemeniz gerekir?

Android, yönetilen bir bellek ortamı sağlar. Android, uygulamanızın artık bazı nesneleri kullanmadığını belirlediğinde, çöp toplayıcı kullanılmayan belleği yığına geri bırakır. Android'in kullanılmayan belleği bulma yöntemi sürekli olarak iyileştiriliyor olsa da tüm Android sürümlerinde sistemin bir noktada kodunuzu kısa süreliğine duraklatması gerekir. Duraklamalar çoğu zaman fark edilmez. Ancak uygulamanız belleği sistemden daha hızlı ayarlarsa toplayıcı, ayırdığınız alanı karşılayacak kadar bellek ayırırken uygulamanız gecikebilir. Gecikme, uygulamanızın kareleri atlamasına ve belirgin bir yavaşlığa neden olabilir.

Uygulamanızın bellek kullanımını azaltabilecek programlama uygulamaları hakkında bilgi edinmek için Uygulamanızın belleğini yönetme başlıklı makaleyi okuyun.

Doğal atamalara genel bakış

Bellek Tüketimini İzle (Yerel Ayırma İşlemleri) görevini çalıştırdığınızda Android Studio Profiler, belirttiğiniz dönem için yerel koddaki nesnelerin ayırma ve ayırma işlemlerini izler ve aşağıdaki bilgileri sağlar:

  • Ayrımlar: Seçilen dönemde malloc() veya new operatörü kullanılarak ayrılan nesnelerin sayısı.
  • Deallocations: Seçilen dönemde free() veya delete operatörü kullanılarak ayrılan nesnelerin sayısı.
  • Ayrıntı boyutu: Seçilen dönemdeki tüm ayrıntıların bayt cinsinden birleştirilmiş boyutu.
  • Deallocations Boyutu: Seçilen dönemde serbest bırakılan tüm belleğin bayt cinsinden toplam boyutu.
  • Toplam Sayı: Ayrımlar sütunundaki değerden Anlaşma yerleri sütunundaki değer çıkarılarak hesaplanır.
  • Kalan Boyut: Ayrımlar Boyutu sütunundaki değerden Anlaşma Ayrımları Boyutu sütunundaki değer çıkarılarak hesaplanır.

Görselleştirme sekmesi, seçilen zaman aralığında çağrı yığınındaki yerel kodla ilgili tüm nesnelerin toplu görünümünü gösterir. Temel olarak, gösterilen örneklerin bulunduğu çağrı yığınının ne kadar toplam bellek kapladığını gösterir. İlk satırda ileti dizisi adı gösterilir. Nesneler varsayılan olarak, tahsis boyutuna göre soldan sağa doğru yığılır. Sırayı değiştirmek için açılır menüyü kullanın.

Profilleyici varsayılan olarak 2.048 baytlık bir örnek boyutu kullanır: 2.048 bayt bellek her atandığında belleğin anlık görüntüsü alınır. Örnek boyutunun daha küçük olması, daha sık anlık görüntü alınmasına ve bellek kullanımıyla ilgili daha doğru veriler elde edilmesine neden olur. Daha büyük örnek boyutları daha az doğru veriler sağlar ancak daha az sistem kaynağı tüketir ve kayıt sırasında performansı artırır. Sana Özel bölümündeki videoların örnek boyutunu değiştirmek için Kayıt yapılandırmasını düzenleme başlıklı makaleyi inceleyin.