Netzwerktraffic mit dem Network Inspector prüfen

Der Network Inspector zeigt die Netzwerkaktivität in Echtzeit auf einer Zeitachse an und zeigt gesendete und empfangene Daten. Mit dem Network Inspector können Sie untersuchen, wie und wann App Daten übertragen und den zugrunde liegenden Code entsprechend optimieren.

So öffnen Sie den Network Inspector:

  1. Wählen Sie in der Android Studio-Navigationsleiste View > Tool Windows > (Ansicht > Toolfenster > Tool-Fenster) aus. App-Prüfung. Nachdem das App-Inspektionsfenster automatisch verbunden wurde einen App-Prozess hinzufügen möchten, wählen Sie auf den Tabs Network Inspector aus.
    • Wenn das App-Prüfungsfenster keine Verbindung zu einem App-Prozess herstellt automatisch ausgeführt haben, müssen Sie unter Umständen manuell einen App-Prozess auswählen.
  2. Wählen Sie das Gerät und den App-Prozess aus, den Sie prüfen möchten. Fenster App-Inspektion.

Network Inspector – Übersicht

Oben im Network Inspector-Fenster sehen Sie die Ereigniszeitachse. Klicken und ziehen Sie, um einen Teil der Zeitachse auszuwählen und den Verkehr zu untersuchen.

<ph type="x-smartling-placeholder">
</ph> Das Fenster „Network Inspector“ <ph type="x-smartling-placeholder">
</ph> Abbildung 1: Das Fenster „Network Inspector“.

Im Detailbereich können Sie mithilfe der Zeitgrafik feststellen, auftreten können. Der Anfang des gelben Abschnitts Byte der Anfrage gesendet wird. Der Anfang des blauen Bereichs entspricht mit dem ersten Byte der empfangenen Antwort. Am Ende des blauen Bereichs entspricht dem letzten Byte der empfangenen Antwort.

Wählen Sie im Bereich unter der Zeitachse eine der auf den folgenden Registerkarten, um weitere Informationen über die Netzwerkaktivität während der ausgewählten Teil der Zeitachse:

  • Verbindungsansicht: Hier sind die Dateien aufgelistet, die während des ausgewählten Teil der Zeitachse über alle CPU-Threads Ihrer App hinweg. Für können Sie die Größe, den Typ, den Status und die Übertragung Dauer Klicken Sie zum Sortieren der Liste auf eine der Spaltenüberschriften. Sie können eine detaillierte Aufschlüsselung des ausgewählten Teils der Zeitachse, wann eine Datei gesendet oder empfangen wurde.
  • Thread-Ansicht: Zeigt die Netzwerkaktivität auf jeder CPU Ihrer App an. Threads. Wie in Abbildung 2 gezeigt, können Sie in dieser Ansicht feststellen, Threads sind für jede Netzwerkanfrage verantwortlich.

    <ph type="x-smartling-placeholder">
    </ph> Netzwerkanfragen in der Threadansicht nach App-Thread prüfen <ph type="x-smartling-placeholder">
    </ph> Abbildung 2: Netzwerkanfragen nach Anwendungs-Thread im Thread-Ansicht:
  • Regelansicht: Mithilfe von Regeln können Sie testen, wie sich Ihre App auf Antworten mit unterschiedlichen Statuscodes, Headern und Textkörpern. Wenn Sie eine neue Regel erstellen, benennen Sie die neue Regel und geben Sie dabei Informationen zum Ursprung der Antwort, die Sie abfangen möchten, im Unterabschnitt Origin. Im Antwort können Sie angeben, wo und wie die Antwort. Sie können z. B. festlegen, dass die Regel bei Antworten mit einem Statuscodes an und ändern Sie den Statuscode. Im Header-Regeln und Textkörperregeln erstellen, erstellen Sie Unterregeln, mit denen Antwortheader oder -texte zu ändern. Regeln werden in der Reihenfolge angewendet, aufgeführt sind. Wählen Sie aus, welche Regel aktiviert oder deaktiviert werden soll, indem Sie das Kästchen Aktiv neben der Regel.

    <ph type="x-smartling-placeholder">
    </ph> Die Bereiche „Regeln“ und „Regeldetails“ des Netzwerkprüftools <ph type="x-smartling-placeholder">
    </ph> Abbildung 3: Regeln und Regeldetails des Netzwerkprüftools Bereiche.

Klicken Sie entweder in der Verbindungsansicht oder Threadansicht auf einen Anfragenamen, detaillierte Informationen über die gesendeten oder empfangenen Daten abrufen. Klicken Sie auf die Tabs, Antwortheader und -text, Anfrageheader und -text oder Aufrufstack ansehen.

Klicken Sie auf den Tabs Response (Antwort) und Request (Anfrage) auf den Link View Parsed (Analysierte anzeigen). formatierten Text anzuzeigen. Klicken Sie auf den Link Quelltext anzeigen, um den Rohtext anzuzeigen.

<ph type="x-smartling-placeholder">
</ph> Zwischen Rohtext und formatiertem Text wechseln <ph type="x-smartling-placeholder">
</ph> Abbildung 4: Zwischen Rohtext und formatiertem Text wechseln, indem indem Sie auf den entsprechenden Link klicken.

Neben der Anzeige von Netzwerkanfragen für HttpsURLConnection, Netzwerk Der Inspector unterstützt auch OkHttp. Einige Netzwerkbibliotheken von Drittanbietern, z. B. Zurückstellen, OkHttp verwenden intern, sodass Sie mit dem Network Inspector die Netzwerkaktivität überprüfen können. Die Beispiel-App „Now In Android“ nutzt OkHttp für den Netzwerkbetrieb und eignet sich gut für Aktion ausführen.

Wenn Sie den HttpsURLConnection API, sehen Sie auf dem Tab Anfrage nur Header, die Sie mithilfe von die setRequestProperty an, wie im folgenden Beispiel gezeigt:

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");

Probleme mit der Netzwerkverbindung beheben

Wenn der Network Inspector Traffic-Werte erkennt, aber keine unterstützten Netzwerkanfragen erhalten Sie die folgende Fehlermeldung:

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

Derzeit unterstützt der Network Inspector nur die HttpsURLConnection und OkHttp-Bibliotheken für Netzwerk Verbindungen. Wenn Ihre App eine andere Bibliothek für Netzwerkverbindungen verwendet, müssen Sie möglicherweise Ihre Netzwerkaktivität im Network Inspector sehen. Wenn Sie hat diese Fehlermeldung erhalten, aber deine App verwendet HttpsURLConnection oder OkHttp, melden Sie einen Fehler oder Suche nach dem Problem Tracker , um Ihr Feedback in einen vorhandenen Bericht zu Ihrem Problem aufzunehmen. Ich können diese Ressourcen auch nutzen, um Support für zusätzliche Bibliotheken anzufordern.