Network Inspector mostra l'attività di rete in tempo reale su una sequenza temporale, mostrando dati inviati e ricevuti. Network Inspector consente di esaminare come e quando l'app trasferisce i dati e ottimizza il codice sottostante in modo appropriato.
Per aprire Network Inspector:
- Nella barra di navigazione di Android Studio, seleziona Visualizza > Finestre degli strumenti >
Ispezione delle app. Dopo che la finestra di ispezione dell'app si connette automaticamente
a un processo dell'app, seleziona Network Inspector dalle schede.
- Se la finestra di ispezione dell'app non si collega a un processo dell'app automaticamente, potresti dover selezionare manualmente un processo dell'app.
- Seleziona il dispositivo e il processo dell'app che vuoi esaminare dalla Finestra Controllo app.
Panoramica di Network Inspector
Nella parte superiore della finestra Controllo rete puoi vedere la sequenza temporale degli eventi. Fai clic e trascina il cursore per selezionare una parte della sequenza temporale e ispezionare il traffico.
Nel riquadro dei dettagli, il grafico dei tempi può aiutarti a identificare dove le prestazioni potrebbero verificarsi dei problemi. L'inizio della sezione gialla corrisponde il primo byte della richiesta inviata. L'inizio della sezione blu corrisponde al primo byte della risposta ricevuta. La fine della sezione blu corrisponde al byte finale della risposta ricevuta.
Nel riquadro sotto la sequenza temporale, seleziona una delle le schede seguenti per ulteriori dettagli sull'attività di rete durante parte selezionata della sequenza temporale:
- Visualizzazione connessione: elenca i file che sono stati inviati o ricevuti durante la parte selezionata della sequenza temporale in tutti i thread della CPU dell'app. Per ogni richiesta, puoi esaminare dimensioni, tipo, stato e durata massima. Per ordinare questo elenco, fai clic su una delle intestazioni di colonna. Puoi puoi vedere una suddivisione dettagliata della parte selezionata della sequenza temporale, che mostrano quando ogni file è stato inviato o ricevuto.
Visualizzazione thread: mostra l'attività di rete su ciascuna CPU dell'app i thread. Come mostrato nella Figura 2, questa visualizzazione ti consente di esaminare quali i thread sono responsabili di ogni richiesta di rete.
Visualizzazione regole: le regole consentono di verificare il comportamento dell'app quando incontra risposte con codici di stato, intestazioni e corpi diversi. Quando crei un nuova regola, assegna un nome alla nuova regola e includi informazioni sull'origine della che vuoi intercettare nella sottosezione Origine. Nella Risposta, puoi specificare dove e come modificare la risposta corretta. Ad esempio, puoi impostare l'esecuzione della regola sulle risposte con un codice di stato specifico e modificarlo. Nella Le regole intestazione e le sottosezioni Regole corpo consentono di creare regole secondarie che aggiungono modificare le intestazioni o il corpo delle risposte. Le regole vengono applicate nell'ordine in cui vengono elencate. Scegli quale regola attivare o disattivare selezionando l'icona Attiva accanto alla regola.
Dalla Vista connessione o dalla Vista thread, fai clic sul nome di una richiesta per esaminare informazioni dettagliate sui dati inviati o ricevuti. Fai clic sulle schede per visualizza l'intestazione e il corpo della risposta, l'intestazione e il corpo della richiesta o lo stack di chiamate.
Nelle schede Risposta e Richiesta, fai clic sul link Visualizza analizzati per visualizzare testo formattato. Fai clic sul link Visualizza origine per visualizzare il testo non elaborato.
Oltre a mostrare le richieste di rete per
HttpsURLConnection
, rete
Inspector supporta anche OkHttp
.
Alcune librerie di rete di terze parti,
Retrofit, usa OkHttp
internamente, in modo che Network Inspector ti consenta di controllare la sua attività di rete. La
App di esempio Now in Android
utilizza OkHttp
per le proprie operazioni di rete ed è ideale per vederla
un'azione.
Se utilizzi
API HttpsURLConnection
,
nella scheda Richiesta vengono visualizzate solo le intestazioni che includi nel codice utilizzando
il
setRequestProperty
, come illustrato nell'esempio seguente:
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");
Risolvere i problemi di connessione di rete
Se il controllo di rete rileva i valori del traffico ma non è in grado di identificarne richieste di rete supportate, viene visualizzato il seguente messaggio di errore:
**Network Inspector Data Unavailable:** There is no information for the
network traffic you've selected.
Attualmente, Network Inspector supporta solo
HttpsURLConnection
e OkHttp
librerie per le reti
e connessioni a Internet. Se la tua app usa un'altra libreria di connessioni di rete, potresti non
potrai visualizzare la tua attività di rete in Network Inspector. Se disponi
hai ricevuto questo messaggio di errore, ma la tua app utilizza HttpsURLConnection
o OkHttp
, segnala un bug oppure
cerca il problema
tracker
per includere il tuo feedback in un report esistente relativo al problema. Tu
puoi utilizzare queste risorse anche per richiedere assistenza per librerie aggiuntive.