Uygulamanızın CPU kullanımını optimize etmenin, daha hızlı ve sorunsuz bir kullanıcı deneyimi sunma ve cihaz pil ömrünü koruma gibi birçok avantajı vardır.
Uygulamanızla etkileşimde bulunurken uygulamanızın CPU kullanımını ve ileti dizisi etkinliğini gerçek zamanlı olarak incelemek için CPU Profiler'ı kullanabilir veya kaydedilen yöntem izleri, işlev izleri ve sistem izlerindeki ayrıntıları inceleyebilirsiniz.
CPU Profiler'ın kaydettiği ve gösterdiği ayrıntılı bilgiler seçtiğiniz kayıt yapılandırmasına göre belirlenir:
- Sistem İzleme: Uygulamanızın sistem kaynaklarıyla nasıl etkileşime geçtiğini incelemenize olanak tanıyan ayrıntılı ayrıntıları yakalar.
Yöntem ve işlev izleri: Uygulama sürecinizdeki her mesaj dizisi için belirli bir süre içinde hangi yöntemlerin (Java) veya işlevlerin (C/C++) yürütüldüğünü ve her yöntemin ya da işlevin yürütme sırasında tükettiği CPU kaynaklarını öğrenebilirsiniz. Arayanları ve alanları tanımlamak için yöntem ve işlev izlerini de kullanabilirsiniz. Arayan, başka bir yöntem veya işlev çağıran yöntem veya işlevdir. Davetli ise başka bir yöntem veya işlev tarafından çağrılan bir yöntemdir. Bu bilgileri, yoğun kaynak gerektiren görevleri çok sık yapmaktan sorumlu yöntemleri veya işlevleri belirlemek ve gereksiz işlerden kaçınmak için uygulamanızın kodunu optimize etmek amacıyla kullanabilirsiniz.
Yöntem izleme kayıtlarını kaydederken örneklenmiş veya araçlı kaydı seçebilirsiniz. Fonksiyon izlerini kaydederken yalnızca örnek kaydı kullanabilirsiniz.
Bu izleme seçeneklerinin her birini kullanma ve seçmeyle ilgili ayrıntılar için Kayıt yapılandırması seçme bölümüne göz atın.
CPU Profiler'a genel bakış
CPU Profiler'ı açmak için şu adımları uygulayın:
Görünüm > Araç Pencereleri > Profil aracı'nı seçin veya araç çubuğunda Profil'i tıklayın.
Dağıtım Hedefi Seç iletişim kutusu tarafından istenirse uygulamanızın profil çıkarma için dağıtılacağı cihazı seçin. Bir cihazı USB üzerinden bağladıysanız ancak listede görmüyorsanız USB hata ayıklamayı etkinleştirdiğinizden emin olun.
CPU Profiler'ı açmak için CPU zaman çizelgesinde herhangi bir yeri tıklayın.
CPU Profiler'ı açtığınızda hemen uygulamanızın CPU kullanımı ve mesaj dizisi etkinliği gösterilir. Şekil 1'e benzer bir şey göreceksiniz.
Şekil 1'de belirtildiği gibi, CPU Profiler için varsayılan görünüm aşağıdaki zaman çizelgelerini içerir:
- Etkinlik zaman çizelgesi: Uygulamanızdaki yaşam döngülerindeki farklı durumlarda geçiş yapan uygulamaları gösterir ve ekran döndürme etkinlikleri de dahil olmak üzere, kullanıcıların cihazla etkileşimini gösterir. Android 7.1 (API düzeyi 25) ve önceki sürümleri çalıştıran cihazlarda etkinlik zaman çizelgesini etkinleştirme hakkında bilgi edinmek için Gelişmiş profil oluşturmayı etkinleştirme başlıklı makaleye bakın.
- CPU zaman çizelgesi: Uygulamanızın gerçek zamanlı CPU kullanımını (toplam CPU süresinin yüzdesi olarak) ve uygulamanızın kullandığı toplam ileti dizisi sayısını gösterir. Zaman çizelgesi, diğer işlemlerin (sistem işlemleri veya diğer uygulamalar gibi) CPU kullanımını da gösterir. Böylece, zaman çizelgesini uygulamanızın kullanımı ile karşılaştırabilirsiniz. Farenizi zaman çizelgesinin yatay ekseninde hareket ettirerek geçmiş CPU kullanım verilerini inceleyebilirsiniz.
-
İleti dizisi etkinliği zaman çizelgesi: Uygulama sürecinize ait olan her ileti dizisini listeler ve aşağıda listelenen renkleri kullanarak zaman çizelgesine göre etkinliğini gösterir. Bir izleme kaydettikten sonra, izleme bölmesinde verilerini incelemek için bu zaman çizelgesinden bir ileti dizisi seçebilirsiniz.
- Yeşil: İleti dizisi etkin veya CPU'yu kullanmaya hazırdır. Yani çalışan veya çalıştırılabilir durumda.
- Sarı: İleti dizisi etkindir ancak çalışmasını tamamlayabilmesi için bir G/Ç işlemi (örneğin, disk veya ağ G/Ç) bekliyordur.
- Gri: İleti dizisi uyku modundadır ve CPU açısından herhangi bir zaman harcamaz. Bu durum, bazen mesaj dizisi henüz mevcut olmayan bir kaynağa erişim gerektirdiğinde ortaya çıkar. İleti dizisi, gönüllü olarak uyku moduna geçer veya çekirdek, gerekli kaynak eklenene kadar mesaj dizisini uyku moduna geçirir.
CPU Profiler ayrıca Android Studio ve Android platformunun uygulama sürecinize eklediği,
JDWP,
Profile Saver,
Studio:VMStats,
Studio:Perfave
Studio:Heartbeatgibi ileti dizilerinin CPU kullanımını da bildirir (ancak ileti dizisi etkinlik zaman çizelgesinde gösterilen adlar değişebilir). Android Studio bu verileri raporlar. Böylece, ileti dizisi etkinliğinin ve CPU kullanımının gerçekte ne zaman uygulamanızın kodundan kaynaklandığını belirleyebilirsiniz.