Çağrı yığınından örnek alın

Çağrı yığınları, CPU sıcak noktalarını (yürütülmesi uzun süren kod bölümleri) belirlemek için yararlıdır. Çağrı yığınları, kodun hangi bölümünün yürütüldüğünü ve neden çağrıldığını anlamanıza yardımcı olur.

Callstack örneğine genel bakış

Çağrı yığınını örneklemek için Android Studio Profiler Ana Sayfa sekmesinden CPU Hotspot'larını Bul (Çağrı Yığını Örneği) görevini seçin. Kayıt ayrıştırıldıktan sonra aşağıdaki görselleri görürsünüz:

CPU Kullanımı ve Etkileşimler zaman çizelgelerini desteklemek için İş Parçacıkları bölümünde, uygulamanızın ve sistemin yaptığı her çağrıyla ilgili kareler gösterilir. Aşağıda, çağrı yığını örneğinde gezinmeyle ilgili bazı ipuçları verilmiştir:

  • İlgilendiğiniz iş parçacığını genişletin ve yığın çerçevelerinde gezinmek için klavye kısayollarını kullanın. Analiz bölmesinde etkinlik ve ilgili çağrılar hakkında ayrıntılı bilgi edinmek için bir yığın çerçevesini tıklayın.
  • Belirli yığın çerçevesi türlerini filtrelemek için Çerçeveleri daralt'ı tıklayın ve gizlemek istediğiniz çerçeve türlerini işaretleyin. Çerçeveleri daralttığınızda hem İş Parçacıkları hem de Analiz bölümlerinden kaldırılırlar. İncelemenize bağlı olarak, Java sanal makinesindeki (ör. android::AndroidRuntime::start ve art::{...}) ve sistem çekirdeğindeki (ör. [kernel.kallsyms]+{offset}) çerçeveleri daraltmak isteyebilirsiniz. Bu genellikle [kernel.kallsyms], /apex/ ve /system/* ile ilgili çerçeveleri daraltmaya karşılık gelir.

Java/Kotlin programları genellikle bir Java sanal makinesi aracılığıyla yürütüldüğünden Android Studio, Java/Kotlin programı için çağrı yığınını topladığında çağrı yığını genellikle yalnızca Java/Kotlin kodunu değil, programın kendisini çalıştırmak ve programın sistemle ve donanımla iletişim kurması için gereken yerel kodu da içerir.

  • Bir yığın çerçevesiyle ilişkili kaynak koda gitmek için çerçeveyi sağ tıklayıp Kaynağa git'i tıklayın.
  • Etkinlik tablosunda bir etkinlikle ilişkili yığın çerçevesini vurgulamak için etkinliği tıklayın.

Diğer görseller hakkında bilgi edinmek için Sistem izi kaydetme ve grafik sözlüğü başlıklı makalelere bakın.

Komut satırını kullanarak örnek yerel kod

Android Studio, uygulamanızın yerel kodunu izlemek için dahili olarak simpleperf'ü kullanır. Simpleperf için ek seçenekler (ör. belirli cihaz CPU'larını örnekleme veya yüksek doğrulukta örnekleme süreleri belirtme) istiyorsanız Simpleperf'ü komut satırından kullanabilirsiniz.