The Android Developer Challenge is back! Submit your idea before December 2.

Memeriksa traffic jaringan dengan Network Profiler

Network Profiler menampilkan aktivitas jaringan secara realtime pada linimasa, yang menunjukkan data terkirim dan diterima, serta jumlah koneksi saat ini. Hal ini memungkinkan Anda memeriksa cara dan waktu aplikasi mentransfer data, serta mengoptimalkan kode yang mendasarinya dengan semestinya.

Untuk membuka Network Profiler, ikuti langkah-langkah ini:

  1. Klik View > Tool Windows > Profiler (Anda juga dapat mengklik Profile dalam toolbar).
  2. Pilih perangkat dan proses aplikasi yang ingin dibuatkan profil dari toolbar Android Profiler. Jika Anda menghubungkan perangkat melalui USB tetapi tidak melihatnya tercantum, pastikan Anda telah mengaktifkan proses debug USB.
  3. Klik di mana saja pada linimasa NETWORK untuk membuka Network Profiler.

Untuk memilih bagian dari linimasa, memeriksa daftar permintaan jaringan yang dikirim dan respons yang diterima, atau melihat informasi mendetail tentang file yang dipilih, Anda harus mengaktifkan profiling lanjutan .

Mengapa Anda harus membuat profil aktivitas jaringan aplikasi

Jika aplikasi Anda membuat permintaan ke jaringan, perangkat harus menggunakan jaringan radio WiFi atau seluler yang boros listrik untuk mengirim dan menerima paket. Jaringan radio tersebut tidak hanya menggunakan daya listrik untuk mentransfer data, tetapi juga menggunakan daya tambahan untuk dihidupkan dan tetap terjaga.

Dengan Network Profiler, Anda dapat mencari lonjakan aktivitas jaringan yang singkat dan sering, yang berarti aplikasi Anda mengharuskan jaringan radio agar sering dihidupkan, atau tetap terjaga selama jangka waktu lama guna menangani banyak permintaan singkat dengan selang waktu berdekatan. Pola ini menunjukkan bahwa Anda mungkin dapat mengoptimalkan aplikasi agar performa baterai meningkat dengan menumpuk permintaan jaringan sehingga mengurangi jumlah waktu yang digunakan jaringan radio untuk mengirim atau menerima data. Hal ini juga memungkinkan jaringan radio beralih ke mode rendah daya untuk menghemat baterai pada selang waktu yang lebih panjang di antara batch permintaan.

Untuk mengetahui informasi selengkapnya tentang teknik mengoptimalkan aktivitas jaringan aplikasi Anda, baca Mengurangi kehabisan baterai jaringan.

Ringkasan Network Profiler

Di bagian atas jendela, Anda dapat melihat linimasa acara. Di linimasa, Anda dapat 1 mengklik dan menarik untuk memilih bagian linimasa guna memeriksa traffic.

Gambar 1. Jendela Network Profiler

Dalam panel 2 di bawah ini, pilih salah satu tab berikut untuk mengetahui detail selengkapnya tentang aktivitas jaringan selama bagian linimasa yang dipilih:

  • Connection View: Mencantumkan file yang telah dikirim atau diterima selama bagian linimasa yang dipilih dalam daftar di seluruh thread CPU aplikasi Anda. Untuk setiap permintaan, Anda dapat memeriksa ukuran, jenis, status, dan durasi transmisi. Anda dapat mengurutkan daftar ini dengan mengklik salah satu header kolom. Anda juga akan melihat uraian mendetail dari bagian linimasa yang dipilih, yang menampilkan kapan setiap file dikirim atau diterima.
  • Thread View: Menampilkan aktivitas jaringan setiap thread CPU aplikasi Anda. Seperti dalam gambar 2, tampilan ini memungkinkan Anda memeriksa thread aplikasi yang bertanggung jawab atas setiap permintaan jaringan.

    Gambar 2. Memeriksa permintaan jaringan berdasarkan thread aplikasi di Thread View

Baik dari Connection View ataupun Thread View, klik nama permintaan untuk memeriksa 3 informasi mendetail tentang data yang dikirim atau diterima. Klik tab untuk menampilkan header dan isi respons, header dan isi permintaan, atau stack panggilan.

Pada tab Response dan Request, klik link View Parsed untuk menampilkan teks berformat dan klik link View Source untuk menampilkan teks mentah.

Gambar 3. Beralih antara teks mentah (kiri) dan teks berformat (kanan) dengan mengklik link yang sesuai

URL url = new URL(MY_URL_EN);
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
    ...
    // Sets acceptable encodings in the request header.
    urlConnection.setRequestProperty("Accept-Encoding", "identity");
    

Pemecahan masalah koneksi jaringan

Jika Network Profiler mendeteksi nilai traffic, tetapi tidak dapat mengidentifikasi segala permintaan jaringan yang didukung, Anda akan menerima pesan error berikut:

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

Saat ini, Network Profiler hanya mendukung library HttpURLConnection dan OkHttp untuk koneksi jaringan. Jika aplikasi Anda menggunakan library koneksi jaringan lain, Anda mungkin tidak dapat menampilkan aktivitas jaringan di Network Profiler. Jika Anda telah menerima pesan error ini, tetapi aplikasi Anda memang menggunakan HttpURLConnection atau OkHttp, laporkan bug, atau cari di pelacak masalah untuk menyertakan masukan dalam laporan yang telah ada yang berhubungan dengan masalah tersebut. Anda juga dapat menggunakan resource ini untuk meminta dukungan bagi library tambahan.