Ağ İnceleyici, gerçek zamanlı ağ etkinliğini bir zaman çizelgesi üzerinde görüntüleyerek gönderilen ve alınan verileri gösterir. Ağ Denetleyicisi, uygulamanızın verileri nasıl ve ne zaman aktardığını incelemenize ve temel kodu uygun şekilde optimize etmenize olanak tanır.
Ağ Denetleyicisi'ni açmak için aşağıdaki adımları uygulayın:
- Android Studio gezinme çubuğundan Görünüm >
Araç Pencereleri >
Uygulama Denetleme'yi seçin. Uygulama denetleme penceresi otomatik olarak uygulama işlemine bağlandıktan sonra sekmelerden Network Inspector'ı seçin.
- Uygulama inceleme penceresi bir uygulama işlemine otomatik olarak bağlanmazsa uygulama işlemini manuel olarak seçmeniz gerekebilir.
- Uygulama Denetleme penceresinden incelemek istediğiniz cihazı ve uygulama işlemini seçin.
Network Inspector'a 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.
Ayrıntı penceresindeki zamanlama grafiği, performans sorunlarının nerede meydana geldiğini belirlemenize yardımcı olabilir. Sarı bölümün başlangıcı, gönderilen isteğin ilk baytına karşılık gelir. Mavi bölümün başlangıcı, alınan yanıtın ilk baytına karşılık gelir. Mavi bölümün sonu, alınan yanıtın son baytına karşılık gelir.
Zaman çizelgesinin altındaki bölmede, zaman çizelgesinin seçilen bölümündeki ağ etkinliği hakkında daha ayrıntılı bilgi için aşağıdaki sekmelerden birini seçin:
- Bağlantı Görünümü: Uygulamanızın tüm CPU iş parçacıklarında zaman çizelgesinin seçilen kısmında gönderilen veya alınan dosyaları listeler. Her istek için boyut, tür, durum ve iletim süresini inceleyebilirsiniz. Bu listeyi sıralamak için sütun başlıklarından birini tıklayın. Her bir dosyanın ne zaman gönderildiğini veya alındığını gösteren zaman çizelgesinin seçilen kısmının ayrıntılı bir dökümünü de görebilirsiniz.
İş Parçacığı Görünümü: Uygulamanızın her bir CPU iş parçacığındaki ağ etkinliğini gösterir. Şekil 2'de gösterildiği gibi bu görünüm, her ağ isteğinden hangi iş parçacıklarının sorumlu olduğunu incelemenize olanak tanır.
Kural Görünümü: Kurallar, uygulamanızın farklı durum kodları, başlıklar ve gövdelere sahip yanıtlarla karşılaştığında nasıl davrandığını test etmeye yardımcı olur. Yeni bir kural oluştururken yeni kuralınıza bir ad verin ve müdahale etmek istediğiniz yanıtın kaynağıyla ilgili bilgileri Kaynak alt bölümüne ekleyin. Yanıt alt bölümünde, yanıtı nerede ve nasıl değiştireceğinizi belirtebilirsiniz. Örneğin, kuralı belirli bir durum koduna sahip yanıtlarda yürütülecek şekilde ayarlayabilir ve bu durum kodunu değiştirebilirsiniz. Üstbilgi kuralları ve Gövde kuralları alt bölümlerinde, yanıt üstbilgileri veya gövdeleri ekleyen ya da değiştiren alt kurallar oluşturun. Kurallar, listelendikleri sırayla uygulanır. Kuralın yanındaki Etkin kutusunu işaretleyerek hangi kuralın etkinleştirileceğini veya devre dışı bırakılacağını seçin.
Bağlantı Görünümü veya İleti Dizisi Görünümü'nde, gönderilen veya alınan veriler hakkında ayrıntılı bilgileri incelemek için bir istek adını tıklayın. Yanıt başlığını ve gövdesini, istek başlığını ve gövdesini veya çağrı yığınını görüntülemek için sekmeleri tıklayın.
Yanıt ve İstek sekmelerinde, biçimlendirilmiş metni görüntülemek için Ayrıştırılmış olarak göster bağlantısını tıklayın. İşlenmemiş metni görüntülemek için Kaynağı Görüntüle bağlantısını tıklayın.
Network Inspectoror, HttpsURLConnection
için ağ isteklerinin yanı sıra OkHttp
özelliğini de destekler.
Retrofit gibi bazı üçüncü taraf ağ kitaplıkları dahili olarak OkHttp
kullandığı için Network Inspector, ağ etkinliklerini incelemenize olanak tanır. Now In Android örnek uygulaması, ağ işlemleri için OkHttp
kullanır ve bu uygulamayı çalışırken görmek için iyi bir yerdir.
HttpsURLConnection
API'yi kullanıyorsanız aşağıdaki örnekte gösterildiği gibi, İstek sekmesinde yalnızca setRequestProperty
yöntemini kullanarak kodunuza eklediğiniz başlıklar görürsünüz:
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ğ İnceleyici, trafik değerlerini algılarsa ancak desteklenen ağ isteklerini tanımlayamazsa aşağıdaki hata mesajını alırsınız:
**Network Inspector Data Unavailable:** There is no information for the
network traffic you've selected.
Ağ Denetleyicisi şu anda ağ bağlantıları için yalnızca HttpsURLConnection
ve OkHttp
kitaplıklarını desteklemektedir. Uygulamanız başka bir ağ bağlantısı kitaplığı kullanıyorsa ağ etkinliğinizi Ağ Denetleyicisi'nde görüntüleyemeyebilirsiniz. Bu hata mesajını aldıysanız ancak uygulamanız HttpsURLConnection
veya OkHttp
kullanıyorsa bir hata bildirin ya da sorun izleyicide arama yaparak sorununuzla ilgili mevcut bir rapora geri bildiriminizi ekleyin. Bu kaynakları, ek kitaplıklar için destek istemek için de kullanabilirsiniz.