Traceview kullanımdan kaldırıldı. Android Studio 3.2 veya sonraki bir sürümü kullanıyorsanız bunun yerine CPU Profil Aracı'nı kullanarak uygulamanızın Debug
sınıfıyla yakalanan .trace
dosyasını denetlemeniz, yeni yöntem izlerini kaydetmeniz, .trace
dosyaları kaydetmeniz ve uygulamanızın işlemlerinin gerçek zamanlı CPU kullanımını incelemeniz gerekir.
Traceview, iz günlüklerinin grafik temsillerini sağlayan bir araçtır. Bu günlükleri, kodunuza Debug
sınıfıyla uygulayarak oluşturabilirsiniz. Bu izleme yöntemi son derece hassastır. Çünkü kodun içinde iz verilerini günlüğe tam olarak nerede başlatmak ve durdurmak istediğinizi belirtebilirsiniz. Bu iz günlüklerini henüz oluşturmadıysanız ve bağlı cihazınızdan yerel makinenize kaydetmediyseniz Uygulamanıza enstrümantasyon ile izleme günlükleri oluşturma bölümüne gidin. Traceview'ı kullanarak bu günlükleri incelemek, uygulamanızda hata ayıklamanıza ve performans profilini çıkarmanıza yardımcı olur.
İpucu: İzleme günlüğü dosyalarınızın grafik çağrı yığını diyagramlarını oluşturmak için komut satırından dmtracedump
kullanabilirsiniz.
Uygulamanızı Debug
sınıfıyla kullanarak kaydettiğiniz iz günlüklerini görüntülemeniz gerekmiyorsa uygulamanızın iş parçacıklarını incelemek ve yöntem izlerini kaydetmek için Android Studio 3.0 ve sonraki sürümlerde bulunan CPU profil aracını kullanabilirsiniz.
Traceview kullanarak izleme günlüğü açma
Android Studio'dan Traceview ile bir iz günlüğü açmak için aşağıdaki adımları uygulayın:
- Android Device Monitor'ü başlatın.
- Android Device Monitor'da File > Open File'ı (Dosya > Dosya Aç) seçin.
- İncelemek istediğiniz
.trace
dosyasına gidin. - Aç'ı tıklayın.
Not: Kod daraltma özelliği etkinleştirilmiş bir uygulamanın (ör. sürüm derlemesi) iz günlüklerini görüntülemeye çalışıyorsanız bazı yöntem ve üye adları karartılmış olabilir. Karartılmamış orijinal adları bulmak için ProGuard
mapping.txt
dosyasını kullanabilirsiniz.
Bu dosya hakkında daha fazla bilgi için Karartılmış yığın izlemenin kodunu çözme bölümüne bakın.
Not: Komut satırından traceview
çalıştırma özelliği kullanımdan kaldırılmıştır.
Traceview'e genel bakış
Traceview, bir iz günlüğünü açtıktan sonra aşağıdaki iki bölmeyi kullanarak günlük verilerini görüntüler:
- Her iş parçacığının bir yönteme girdiğini ve yöntemden ne zaman çıktığını açıklayan zaman çizelgesi bölmesi
- İzleme günlüğü süresince her bir iş parçacığının yürütülmesini özetleyen bir profil bölmesi
Aşağıdaki bölümlerde izleme görünümü çıkış bölmeleri hakkında ek bilgiler sağlanmaktadır.
Zaman çizelgesi bölmesi
Şekil 1'de zaman çizelgesi bölmesinin yakından görünümü gösterilmektedir. Her iş parçacığının yürütmesi kendi satırında gösterilir ve geçen süre sağa doğru artar. Her yöntem farklı renklerle gösterilir. İlk satırın altındaki ince çizgiler, seçilen yöntemin alt öğelerini (girişten çıkışa) gösterir.
Profil bölmesi
Şekil 2'de gösterildiği gibi profil bölmesinde, izleme günlüğü süresince sistemin yürüttüğü her yöntem ve bu yöntemlerin yürütülmesi için harcanan süre yer alır. Başka bir yöntemi çağıran yönteme üst öğe, üst yöntemin çağırdığı yöntemler ise alt öğeleri olarak adlandırılır. Tıklayarak bir yöntem seçtiğinizde, bu yöntem hem üst öğelerini hem de alt öğelerini iki ayrı düğüm altında görüntüler.
Tabloda, her yöntem (üst düzey düğüm) için hem kapsayıcı hem de özel süreler (milisaniye cinsinden) ve toplam sürenin yüzdesi gösterilir. Özel süre, yöntemin kendi kodunu yürütmek için harcanan süredir. Dahil edilen süre ise yöntemin kendi kodunu yürütmek için harcanan süre ile alt öğelerini yürütmek için harcanan süreyi ifade eder. Zamanlama bilgileri de CPU süresi ve gerçek zamanlı olarak raporlanır. CPU süresi yalnızca iş parçacığının CPU zamanını aktif olarak kullandığı süreyi dikkate alır ve gerçek zamanlı, iş parçacığının etkin veya uyku modunda olmasına bakılmaksızın uygulamanızın bir yönteme girdiği andan bu yöntemden çıktığı ana kadar mutlak zamanlama bilgileri sağlar.
Profil bölmesindeki her üst düzey düğüm için tablodaki Aramalar + Gelenler, Aramalar/Toplam sütunu (şekil 2'de gösterilmemiştir) yönteme yapılan çağrı sayısını ve yinelenen aramaların sayısını bildirir. Üst ve alt yöntemler için bu sütun, yöntemin üst düzey düğümdeki yöntemin alt veya üst öğesi olduğu çağrıların sayısını gösterir.
İzlemeyle ilgili bilinen sorunlar
İzleme günlüğü kaydı, iş parçacıklarını iyi işlemez ve bu da aşağıdaki sorunlara neden olur:
- Profil oluşturma sırasında bir iş parçacığı çıkarsa iş parçacığı adı yayınlanmaz (Android 5.1 ve sonraki sürümlerde düzeltilir).
- Sanal makine, ileti dizisi kimliklerini yeniden kullanır. Bir iş parçacığı durur ve başka bir iş parçacığı başlatırsa aynı kimliği alabilir.