Hiyerarşi Görüntüleyici ile düzeninizin profilini oluşturun

Hiyerarşi Görüntüleyici kullanımdan kaldırıldı. Android Studio 3.1 veya sonraki bir sürümünü kullanıyorsanız çalışma zamanında uygulamanızın görüntüleme hiyerarşisini incelemek için Layout Inspector'ı kullanmanız gerekir. Uygulamanızın düzeninin oluşturma hızını ayarlamak için bu blog yayınında açıklanan şekilde Window.OnFrameMetricsKullanılabilirDinleyiciyi kullanın.

Hiyerarşi Görüntüleyici, Android Cihaz Monitörü'nde yerleşik olarak bulunan ve düzen hiyerarşinizdeki her bir görünümün düzen hızını ölçmenize olanak tanıyan bir araçtır. Görüntüleme hiyerarşinizin yapısının neden olduğu performans sorunlarını bulmanıza yardımcı olabilir.

Not: Hiyerarşi Görüntüleyici artık geliştirilmemektedir. Çalışma zamanında görüntüleme hiyerarşinizdeki özellikleri incelemek için Android Studio'daki Layout Inspector aracını kullanmanız gerekir. Ancak, Layout Inspector, şu anda düzen performansınızla ilgili profil oluşturma bilgileri sağlamamaktadır.

Bu sayfada, Hiyerarşi Görüntüleyici'ye giriş ve düzeninizi profillemek için adım adım açıklamalı bir kılavuz yer alır.

Hazırlanın

Android Emülatör kullanıyorsanız bu bölümü atlayabilirsiniz. Aksi takdirde, cihazınızı aşağıdaki gibi kurmanız gerekir.

Not: Cihazınızda Android 4.1 veya daha sonraki bir sürüm olmalıdır.

  1. Cihazınızda Geliştirici Seçenekleri'ni etkinleştirin.
  2. Geliştirme makinenizde ortam değişkenini ANDROID_HVPROTO=ddm ayarlayın.

    Bu değişken, Hiyerarşi Görüntüleyici'ye ddm protokolünü kullanarak cihaza bağlanmasını bildirir. Bu protokol DDMS protokolü ile aynıdır. Dikkat edilmesi gereken, ana makinede cihaza bağlanan tek bir süreç olabileceği için Hiyerarşi Görüntüleyici'yi çalıştırmak üzere diğer DDMS oturumlarını sonlandırmanız gerekir.

Hiyerarşi Görüntüleyici'yi Başlat

Şekil 1. Android Cihaz Monitörü

  1. Cihazınızı bilgisayarınıza bağlayın. Cihazda USB hata ayıklamasına izin verilsin mi? sorusunu soran Tamam'a dokunun.
  2. Android Studio'da projenizi açın, cihazınızda oluşturun ve çalıştırın.
  3. Android Cihaz Monitörü'nü başlatın. Android Studio'ya adb entegrasyonunu devre dışı bırak iletişim kutusu gösterilebilir. Bunun nedeni, aynı anda tek bir işlemin cihaza adb üzerinden bağlanması ve Android Cihaz İzleyici'nin bağlantı isteğinde bulunmasıdır. Evet'i tıklayın.

    Şekil 1'de, ilk olarak Android Cihaz Monitörü'nde gösterilenler gösterilmektedir.

  4. Menü çubuğunda Pencere > Perspektifi Aç'ı seçin ve ardından Hiyerarşi Görünümü'nü tıklayın.

    Şekil 2'de gösterilene benzer bir düzenleme göreceksiniz. Çalışmıyorsa varsayılan düzene dönmek için Pencere > Perspektifi Sıfırla'yı seçin.

  5. Soldaki Windows sekmesinde uygulamanızın paket adını çift tıklayın. Bu, bölmeleri uygulamanızın görüntüleme hiyerarşisiyle doldurur.

Araçlar hakkında bilgi edinin

Şekil 2. Hiyerarşi Görüntüleyicisi bölmeleri.

Hiyerarşi Görüntüleyicisi aşağıdaki bölmeleri sağlar (Şekil 2'de gösterildiği gibi):

  • Ağaç Görünümü (orta): Görünüm hiyerarşinizin ağaç görünümünü gösterir. Farenizi ve alttaki yakınlaştırma denetimini kullanarak ağacı sürükleyebilir veya yakınlaştırabilirsiniz. Her düğüm, View sınıf adı ve kimlik adı olduğunu gösterir.
  • Ağaç Genel Bakış (sağ üstte): Uygulamanızın tam görünüm hiyerarşisinin kuş bakışı görünümünü sağlar. Ağaç Görünümü'nde görünen görüntü alanını değiştirmek için gri dikdörtgeni hareket ettirin.
  • Düzen Görünümü (sağ altta): Düzeninizin telekomünikasyon görünümünü gösterir. Seçili durumdaki ana hattın kırmızı çizgisi ve üst görünümü açık kırmızıdır.

    Burada bir görünümü tıkladığınızda Ağaç Görünümü'nde de görüntülenir ve bunun tersi de geçerlidir.

Görünüm hiyerarşisi, düzenin anlık bir görüntüsü olduğundan otomatik olarak güncellenmez. Hiyerarşi görünümünü güncellemek için Görünüm hiyerarşisini yeniden yükle'yi tıklayın.

Bir görünümü geçersiz kılmak için (sistemin bir sonraki düzen güncellemesi sırasında onDraw() yöntemini çağırmasını isteyin), hiyerarşide bir görünüm seçin ve ardından Düzeni geçersiz kıl tıklayın (bu görünüm, görünümdeki invalidate() çağrısıyla eşdeğerdir). Görünümde (ve tüm alt yerlerde) görünüm isteğinde bulunmak için Düzen iste'yi tıklayın .

Farklı bir uygulamaya giderseniz görünümün hiyerarşisini görüntülemek için sol bölmedeki Windows sekmesinden ilgili uygulamayı seçmeniz gerekir.

Ölçüm, düzen ve çizim süreleri dahil (3. şekilde gösterildiği gibi) görünümle ilgili ayrıntıları görmek için Ağaç Görünümü'ndeki görünümü tıklayın. Büyütülmüş bir resmi görmek için görünümü çift tıklayın.

Şekil 3. Düğüm görüntüleme ekranının bölümleri.

Görünümün özelliklerini görmek için, Şekil 4'te gösterildiği gibi sol bölmedeki Özellikleri Görüntüle sekmesini tıklayın.

4. Şekil. Özellikleri Göster sekmesinin konumu.

Düzeninizin katmanlı ekran görüntüsünü bir Adobe Photoshop (PSD) dosyasına kaydetmek için araç çubuğunda Pencere katmanlarını yakala seçeneğini tıklayın. Her görünüm kendi katmanı olarak kaydedilir. Böylece, her görünümü gizleyerek ve ayarlayarak kolayca yeni bir örnek oluşturabilirsiniz.

Düzeninizi profilleyin

5. Şekil. Profil oluşturma işleminden sonra hiyerarşiyi görüntüleyin.

Artık bu aracı nasıl kullanacağınızı bildiğinize göre aracı kullanarak görünüm hiyerarşinizi profilleyebilir ve sonuçları yorumlayabilirsiniz.

  1. Ağaç Görünümü veya Düzen Görünümü'nde, alt öğelerini profillemek istediğiniz görünüm düğümünü tıklayın.
  2. Profil oluşturmaya başlamak için Ağaç Görünümü'nün üst kısmındaki Düzen zamanlarını al tıklayın.

    Geniş kapsamlı görünüm hiyerarşilerinde profil oluşturma işlemi birkaç saniye sürebilir.

Seçtiğiniz düğümün her bir alt öğesi yeşil, sarı veya kırmızı olmak üzere üç nokta alır.

  • Sol nokta, oluşturma ardışık düzeninin çizim işlemini temsil eder.
  • Orta nokta, düzen aşamasını temsil eder.
  • Sağ nokta, yürütme aşamasını temsil eder.

6. Şekil. Renkli noktaların, oluşturma hattıyla
ilişkisi.

Bu noktalar kabaca işleme ardışık düzeninin ölçüm, düzen ve çizim aşamalarına karşılık gelir. Noktaların rengi, bu düğümün yerel ailedeki diğer tüm profilli düğümlere göre performansını gösterir.

  • Yeşil, görünümün diğer görünümlerin en az yarısından daha hızlı oluşturulacağı anlamına gelir.
  • Sarı, görünümün diğer görünümlerin alt yarısından daha hızlı oluşturulacağı anlamına gelir.
  • Kırmızı, görüntülemenin en yavaş yarısında olduğunu gösterir.

Sonuçları yorumlama

Hiyerarşi Görüntüleyici, kardeş görünümlere göre her düğümün performansını ölçer. Bu nedenle, tüm görünümler aynı şekilde performans göstermediği sürece bir profilde her zaman kırmızı düğüm vardır ve bu, kırmızı düğümün düşük performans gösterdiği anlamına gelmez (yalnızca yerel görünüm grubundaki en yavaş görüntüleme olduğu anlamına gelir).

Hiyerarşi Görüntüleyici, zamanlama bilgilerini elde etmek için düzeninizi pikselleştirir. Pikselleştirme, daire veya vektör yazı tipi gibi üst düzey bir temel öğeyi alıp ekranda piksellere dönüştürme işlemidir. Genellikle pikselleştirme, cihazınızdaki GPU tarafından yapılır ancak yazılım pikselleştirme durumunda oluşturma, normal yazılımla CPU'da yapılır. Bu, raporlanan mutlak zamanların birbirine göre doğru olduğu, ancak şişirilmiş olduğu ve cihazınızdaki ve geliştirme makinenizdeki genel ve değişen CPU iş yüküne bağlı olarak değişiklik gösterdiği anlamına gelir. Dolayısıyla, bir cihazda gerçek dünyadaki performans hızlarını yansıtmaz. Ortalama ölçümler hakkında fikir edinmek için birden çok kez profil oluşturmanız gerekir.

Kırmızı düğüm, uygulamanızın beklenmedik bir şekilde performansı yavaşladığı her durumda olası bir sorundur. Göreli ayarda, her zaman en yavaş düğüm vardır. Beklediğiniz düğüm olduğundan emin olmanız yeterlidir. Aşağıdaki örnekler kırmızı noktaların nasıl yorumlanacağını göstermektedir.

  • Yaprak düğümlerinde kırmızı noktaları kontrol edin veya yalnızca birkaç çocuk içeren grupları görüntüleyin. Bu da bir soruna işaret ediyor olabilir. Uygulamanız yavaş olmayabilir veya cihazınızda yavaş olmayabilir ancak bu noktanın neden kırmızı olduğunu bilmeniz gerekir. Systrace veya Traceview, size ek bilgi sağlayabilir.
  • Çok sayıda çocuğun bulunduğu bir izleme grubunuz varsa ve kırmızı bir ölçüm aşaması varsa nasıl performans gösterdiklerini görmek için çocuklara göz atın.
  • Sarı, hatta kırmızı noktalar içeren bir görünüm cihazda yavaş çalışıyor olabilir. Asıl rakamlar bu noktada faydalı olur. Systrace veya Traceview, size ek bilgi sağlayabilir.
  • Bir hiyerarşinin kök görünümünde kırmızı ölçüm aşaması, kırmızı düzen aşaması ve sarı çizim aşaması varsa diğer tüm görünümlerin üst öğesi olduğundan ve düzeni çocuklar bitene kadar tamamlanmadığından bu durum biraz normaldir.
  • 20'den fazla görünüme sahip bir ağaçtaki yaprak düğümünün kırmızı çizim aşaması varsa bu bir sorundur. Olmaması gereken kod için onDraw() yönteminizi kontrol edin.

Daha fazla düzen ipucu için Düzen Performansını İyileştirme konusuna bakın.