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:
- 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.
- İ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](https://developer.android.com/static/studio/images/debug/network-profiler.png?authuser=9&hl=tr)
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.
Ş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.
Ş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](https://developer.android.com/static/studio/images/profile/network-profiler-text_2X.png?authuser=9&hl=tr)
İş 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.