Ağ Denetleyicisi ile ağ trafiğini inceleme

Ağ Denetleyicisi, gerçek zamanlı ağ etkinliğini bir zaman çizelgesinde gösterir ve ve alınan verileri gösterir. Ağ Denetleyicisi, performansın nasıl ve ne zaman ve temel kodu uygun şekilde optimize etmek için bir çözüm sunar.

Ağ Denetleyicisi'ni açmak için şu adımları uygulayın:

  1. Android Studio gezinme çubuğundan Görünüm > Araç Pencereleri > öğesini seçin. Uygulama Denetleme. Uygulama inceleme penceresi otomatik olarak bağlandıktan sonra Bir uygulama işlemine eklemek için sekmelerden Ağ Denetleyicisi'ni seçin.
    • Uygulama inceleme penceresi bir uygulama işlemine bağlanmazsa yoksa manuel olarak bir uygulama işlemi seçmeniz gerekebilir.
  2. İncelemek istediğiniz cihazı ve uygulama işlemini şuradan seçin: Uygulama Denetleme penceresi.

Ağ Denetleyicisi'ne genel bakış

Ağ Denetleyicisi penceresinin üst kısmında etkinlik zaman çizelgesini görebilirsiniz. Zaman çizelgesinin bir bölümünü seçmek ve trafiği incelemek için tıklayıp sürükleyin.

Ağ Denetleyicisi penceresi
Şekil 1. Ağ Denetleyicisi penceresi.

Ayrıntı penceresindeki zamanlama grafiği, performansın hangi noktalarda bir sonucudur. Sarı bölümün başlangıcı iletinin ilk baytını ekleyin. Mavi bölümün başlangıcı kısmına eklenir. Mavi bölümün sonu alınan yanıtın son baytına karşılık gelir.

Zaman çizelgesinin altındaki bölmede sırasında ağ etkinliği hakkında daha fazla ayrıntı için aşağıdaki sekmelere zaman çizelgesinin seçilen bölümü:

  • Connection View (Bağlantı Görünümü): İşlem sırasında gönderilen veya alınan dosyaları listeler zaman çizelgesinin seçilen bölümünü uygulamanızın tüm CPU iş parçacıklarında gösterir. Örneğin, her istek için boyut, tür, durum ve iletim gerekir. Bu listeyi sıralamak için sütun başlıklarından birini tıklayın. Şunları yapabilirsiniz: zaman çizelgesinin seçilen bölümünün ayrıntılı bir dökümünü de görebilir, her dosyanın ne zaman gönderildiğini veya alındığını gösterir.
  • İleti dizisi görünümü: Uygulamanızın her bir CPU'sundaki ağ etkinliğini gösterir ileti dizileri. Şekil 2'de gösterildiği gibi bu görünüm hangi İş parçacıkları her ağ isteğinden sorumludur.

    İş parçacığı görünümünde ağ isteklerini uygulama iş parçacığına göre inceleme
    Şekil 2. Ağ isteklerini uygulama iş parçacığına göre İleti dizisi görünümü.
  • Kural Görünümü: Kurallar, uygulamanızın bir simgesiyle karşılaştığında nasıl davrandığını test etmenize farklı durum kodlarına, başlıklara ve gövdelere sahip yanıtlar oluşturur. Bir yeni kuralınızı adlandırın ve bu kuralın kaynağı hakkında bilgi verin. Kaynak alt bölümü altında kesmek istediğiniz yanıtı girin. Yanıt alt bölümünde, tıklayın. Örneğin, kuralı özel bir alan adıyla yanıtlarda yürütülecek şekilde ve o durum kodunu değiştirebilirsiniz. Başlık kuralları ve Gövde kuralları alt bölümleri, veya gövdelerini değiştirmelerine izin verilmez. Kurallar şu sırayla uygulanır: Bunlar listelenir. Etkinleştirilecek veya devre dışı bırakılacak kuralı seçmek için Etkin kutusunu işaretleyin.

    Ağ Denetleyicisi Kuralları ve Kural Ayrıntıları bölmeleri
    Şekil 3. Ağ Denetleyicisi Kurallar ve Kural Ayrıntıları bölmeler.

Bağlantı Görünümü veya İleti Dizisi Görünümü'nden, gönderilen veya alınan veriler hakkındaki ayrıntılı bilgileri inceler. Sekmeleri tıklayarak yanıt başlığını ve gövdesini, istek başlığını ve gövdesini veya çağrı yığınını görüntüleyin.

Yanıt ve İstek sekmelerinde Parçalar halinde göster bağlantısını tıklayarak biçimlendirilmiş metni görüntüleyecektir. Ham metni görüntülemek için Kaynağı Görüntüle bağlantısını tıklayın.

Ham metin ile biçimlendirilmiş metin arasında geçiş yapın
Şekil 4. Ham metin ile biçimlendirilmiş metin arasında geçiş yapmak için: ilgili bağlantıyı tıklayın.

İş Listesi’ndeki öğeler için HttpsURLConnection, Ağ Denetleyici, OkHttp özelliğini de destekler. Bazı üçüncü taraf ağ kitaplıkları, ör. Retrofit, OkHttp kullanın ağ etkinliğini incelemenize olanak tanır. İlgili içeriği oluşturmak için kullanılan Now In Android örnek uygulamasında ağ işlemleri için OkHttp kullanıyor ve bunu görmek için iyi bir nokta. eyleme dökülebilir.

HttpsURLConnection API, Request (İstek) sekmesinde yalnızca aşağıdaki kodu kullanarak kodunuza eklediğiniz başlıkları görürsünüz: "the" setRequestProperty yöntemini kullanın:

Kotlin

val url = URL(MY_URL_EN)
val urlConnection: HttpsURLConnection = url.openConnection() as HttpsURLConnection
...
// Sets acceptable encodings in the request header.
urlConnection.setRequestProperty("Accept-Encoding", "identity")

Java

URL url = new URL(MY_URL_EN);
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
//...
// Sets acceptable encodings in the request header.
urlConnection.setRequestProperty("Accept-Encoding", "identity");

Ağ bağlantısı sorunlarını giderme

Ağ Denetleyicisi trafik değerleri algılar ancak trafik değerleri tanımlayamazsa desteklenen ağ istekleri için şu hata mesajını alırsınız:

**Network Inspector Data Unavailable:** There is no information for the
  network traffic you've selected.

Şu anda Ağ Denetleyicisi yalnızca HttpsURLConnection ve ağ için OkHttp kitaplıkları bağlantılar. Uygulamanız başka bir ağ bağlantısı kitaplığı kullanıyorsa Ağ Denetleyicisi'nde ağ etkinliğinizi görüntüleyebilirsiniz. Mevcut bu hata mesajını aldı, ancak uygulamanız HttpsURLConnection kullanıyor veya OkHttp, hata bildirin ya da sorunu arayın takip cihazı geri bildiriminizi, sorununuzla ilgili mevcut bir rapora ekleyin. Siz ek kitaplıklar için destek istemek için bu kaynakları da kullanabilir.