Инспектор сети показывает сетевую активность в реальном времени на временной шкале, отображая отправленные и полученные данные. Инспектор сети позволяет узнать, как и когда приложение передает данные, и оптимизировать его код.
Чтобы открыть Network Inspector, выполните следующие действия:
- На панели навигации Android Studio выберите View (Вид) > Tool Windows (Окна инструментов) > App Inspection (Проверка приложения). После того как окно инспектора приложений автоматически подключится к процессу приложения, выберите вкладку Инспектор сети.
- Если окно инспектора приложений не подключается к процессу приложения автоматически, возможно, вам потребуется выбрать процесс приложения вручную.
- В окне App Inspection (Инспектор приложений) выберите устройство и процесс приложения, которые нужно проверить.
Обзор инструмента "Проверка сети"
В верхней части окна Инспектора сети находится временная шкала событий. Чтобы проверить трафик, выберите часть временной шкалы, нажав на нее и перетащив курсор.
На панели подробностей есть график, который поможет вам определить, где могут возникать проблемы с производительностью. Начало желтого раздела соответствует первому байту отправляемого запроса. Начало синего раздела соответствует первому байту полученного ответа. Конец синего раздела соответствует получению последнего байта ответа.
На панели под временной шкалой выберите одну из следующих вкладок, чтобы посмотреть подробные сведения о сетевой активности за выбранный период:
- Connection View (Просмотр подключений). Список файлов, которые были отправлены или получены за выбранный период времени во всех потоках ЦП приложения. Для каждого запроса можно посмотреть размер, тип, статус и длительность передачи. Чтобы отсортировать список, нажмите на заголовок любого столбца. Вы также можете посмотреть подробную разбивку выбранной части временной шкалы, показывающую, когда каждый файл был отправлен или получен.
Режим просмотра потоков. Показывает сетевую активность в каждом потоке ЦП приложения. Как показано на рисунке 2, в этом представлении можно посмотреть, какие потоки отвечают за каждый сетевой запрос.
Рисунок 2. Проверяйте сетевые запросы по потокам приложения в режиме просмотра потоков. Просмотр правил. Правила помогают проверить, как приложение ведет себя при получении ответов с разными кодами статуса, заголовками и телами. При создании нового правила укажите его название и добавьте информацию об источнике ответа, который вы хотите перехватить, в подразделе Origin (Источник). В подразделе Ответ можно указать, где и как изменить ответ. Например, вы можете настроить правило так, чтобы оно выполнялось для ответов с определенным кодом статуса, а также изменяло этот код. В подразделах Правила для заголовков и Правила для тела создайте подправила, которые добавляют или изменяют заголовки или тела ответов. Правила применяются в том порядке, в котором они указаны. Установите или снимите флажок Активно рядом с нужным правилом.
Рисунок 3. Панели Правила и Сведения о правиле в Инспекторе сети.
В режиме Просмотр подключений или Просмотр потоков нажмите на название запроса, чтобы посмотреть подробную информацию об отправленных или полученных данных. На вкладках можно посмотреть заголовок ответа и тело ответа, заголовок запроса и тело запроса, а также стек вызовов.
На вкладках Ответ и Запрос нажмите на ссылку Посмотреть обработанные, чтобы увидеть отформатированный текст. Нажмите на ссылку Посмотреть исходный код, чтобы увидеть необработанный текст.
Инспектор сети показывает сетевые запросы не только для HttpsURLConnection, но и для OkHttp.
Некоторые сторонние сетевые библиотеки, например Retrofit, используют OkHttp внутри, поэтому Network Inspector позволяет проверять их сетевую активность. OkHttp используется для сетевых операций в примере приложения Now In Android.
Если вы используете HttpsURLConnection API, то на вкладке Запрос будут показаны только те заголовки, которые вы включили в код с помощью метода setRequestProperty, как показано в следующем примере:
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");
Устранение неполадок с сетевым подключением
Если Инспектор сети обнаруживает значения трафика, но не может идентифицировать поддерживаемые сетевые запросы, вы получаете следующее сообщение об ошибке:
**Network Inspector Data Unavailable:** There is no information for the
network traffic you've selected.
В настоящее время инспектор сети поддерживает только библиотеки HttpsURLConnection и OkHttp для сетевых подключений. Если ваше приложение использует другую библиотеку сетевых подключений, вы не сможете просматривать сетевую активность в Network Inspector. Если вы получили это сообщение об ошибке, но ваше приложение использует HttpsURLConnection или OkHttp, сообщите об ошибке или выполните поиск в системе отслеживания ошибок, чтобы добавить свой отзыв в существующий отчет, связанный с вашей проблемой. Вы также можете использовать эти ресурсы, чтобы запросить поддержку дополнительных библиотек.