ตรวจสอบการจราจรของข้อมูลในเครือข่ายด้วยเครื่องมือตรวจสอบเครือข่าย

ตัวตรวจสอบเครือข่ายจะแสดงกิจกรรมเครือข่ายแบบเรียลไทม์บนไทม์ไลน์ โดยแสดง ข้อมูลที่ส่งและได้รับ ตัวตรวจสอบเครือข่ายช่วยให้คุณสามารถตรวจสอบว่า แอปจะโอนข้อมูลและเพิ่มประสิทธิภาพโค้ดที่สำคัญอย่างเหมาะสม

หากต้องการเปิดเครื่องมือตรวจสอบเครือข่าย ให้ทำตามขั้นตอนต่อไปนี้

  1. จากแถบนำทางของ Android Studio ให้เลือกมุมมอง > หน้าต่างเครื่องมือ > การตรวจสอบแอป หลังจากหน้าต่างตรวจสอบแอปเชื่อมต่อโดยอัตโนมัติ ไปยังกระบวนการของแอป ให้เลือกเครื่องมือตรวจสอบเครือข่ายจากแท็บ
    • หากหน้าต่างตรวจสอบแอปไม่เชื่อมต่อกับกระบวนการของแอป โดยอัตโนมัติ คุณอาจต้องเลือกกระบวนการของแอปด้วยตนเอง
  2. เลือกกระบวนการของอุปกรณ์และแอปที่คุณต้องการตรวจสอบจาก หน้าต่างการตรวจสอบแอป

ภาพรวมเครื่องมือตรวจสอบเครือข่าย

คุณจะเห็นไทม์ไลน์ของเหตุการณ์ที่ด้านบนของหน้าต่างเครื่องมือตรวจสอบเครือข่าย คลิกและลากเพื่อเลือกส่วนของไทม์ไลน์และตรวจสอบการเข้าชม

วันที่ หน้าต่างตัวตรวจสอบเครือข่าย
รูปที่ 1 หน้าต่างตัวตรวจสอบเครือข่าย

ในแผงรายละเอียด กราฟเวลาจะช่วยระบุตําแหน่งที่ประสิทธิภาพ ที่อาจเกิดขึ้นได้ จุดเริ่มต้นของส่วนสีเหลืองสอดคล้องกับ ไบต์แรกของคำขอที่ส่ง จุดเริ่มต้นของส่วนสีน้ำเงินสอดคล้องกับ กับไบต์แรกของคำตอบที่ได้รับ จุดสิ้นสุดของส่วนสีน้ำเงิน ตรงกับไบต์สุดท้ายของคำตอบที่ได้รับ

ในแผงใต้ไทม์ไลน์ ให้เลือกรายการใดรายการหนึ่ง แท็บต่อไปนี้สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับกิจกรรมในเครือข่ายระหว่าง บางส่วนที่เลือกไว้ของไทม์ไลน์

  • มุมมองการเชื่อมต่อ: แสดงไฟล์ที่ส่งหรือรับระหว่าง ส่วนที่เลือกไว้ในไทม์ไลน์ ในเทรด CPU ของแอปทั้งหมด สำหรับ คุณสามารถตรวจสอบขนาด ประเภท สถานะ และการส่ง หากต้องการจัดเรียงรายการนี้ ให้คลิกส่วนหัวคอลัมน์ใดก็ได้ คุณสามารถ คุณสามารถดูรายละเอียดเกี่ยวกับ ส่วนที่เลือกของเส้นควบคุมเวลา ซึ่งจะแสดงเวลาที่มีการส่งหรือรับแต่ละไฟล์
  • มุมมองเทรด: แสดงกิจกรรมในเครือข่ายบน CPU ของแอปแต่ละรายการ ชุดข้อความ ดังแสดงในรูปที่ 2 มุมมองนี้ช่วยให้คุณตรวจสอบได้ว่า เทรดจะรับผิดชอบคำขอเครือข่ายแต่ละรายการ

    วันที่ ตรวจสอบคำขอเครือข่ายตามเทรดแอปในมุมมองเทรด
    รูปที่ 2 ตรวจสอบคำขอเครือข่ายตามเทรดของแอปใน มุมมองชุดข้อความ
  • มุมมองกฎ: กฎจะช่วยทดสอบลักษณะการทำงานของแอปเมื่อเจอ การตอบกลับที่มีรหัสสถานะ ส่วนหัว และเนื้อหาแตกต่างกัน เมื่อคุณสร้าง ใหม่ ตั้งชื่อกฎใหม่ และใส่ข้อมูลเกี่ยวกับที่มาของกฎ คำตอบที่คุณต้องการสกัดกั้นภายใต้ส่วนย่อยต้นทาง ใน การตอบกลับ คุณสามารถระบุตำแหน่งและวิธีแก้ไข คำตอบ ตัวอย่างเช่น คุณสามารถตั้งกฎให้ดำเนินการกับคำตอบที่มี รหัสสถานะที่ต้องการ รวมทั้งแก้ไขรหัสสถานะ ใน กฎส่วนหัวและกฎเนื้อหา ให้สร้างกฎย่อยที่เพิ่มหรือ แก้ไขส่วนหัวหรือเนื้อหาการตอบกลับ กฎจะถูกใช้ตามลำดับ อยู่ในรายการ เลือกกฎที่จะเปิดหรือปิดใช้โดยทำเครื่องหมายในช่อง ช่องใช้งานถัดจากกฎ

    วันที่ แผงกฎเครื่องมือตรวจสอบเครือข่ายและรายละเอียดกฎ
    รูปที่ 3 กฎและรายละเอียดกฎของเครื่องมือตรวจสอบเครือข่าย แผง

จากมุมมองการเชื่อมต่อหรือมุมมองชุดข้อความ ให้คลิกชื่อคำขอเพื่อ ตรวจสอบข้อมูลโดยละเอียดเกี่ยวกับข้อมูลที่ส่งหรือได้รับ คลิกแท็บเพื่อ ดูส่วนหัวและเนื้อหาการตอบกลับ ส่วนหัวและเนื้อหาคำขอ หรือสแต็กการเรียกใช้

ในแท็บการตอบกลับและคำขอ ให้คลิกลิงก์ดูแยกวิเคราะห์เพื่อ แสดงข้อความที่จัดรูปแบบ คลิกลิงก์ดูแหล่งที่มาเพื่อแสดงข้อความดิบ

วันที่ สลับระหว่างข้อความดิบกับข้อความที่จัดรูปแบบ
รูปที่ 4 สลับระหว่างข้อความดิบกับข้อความที่จัดรูปแบบตาม คลิกลิงก์ที่เกี่ยวข้อง

นอกเหนือจากการแสดงคำขอเครือข่ายสำหรับ HttpsURLConnection, เครือข่าย เครื่องมือตรวจสอบยังรองรับ OkHttp ด้วย ไลบรารีเครือข่ายของบุคคลที่สามบางส่วน เช่น ปรับปรุง ให้ใช้ OkHttp เป็นการภายใน ดังนั้นเครื่องมือตรวจสอบเครือข่ายจึงช่วยให้คุณตรวจสอบกิจกรรมในเครือข่ายได้ ตอนนี้อยู่ในแอปตัวอย่างของ Android ใช้ OkHttp สำหรับการดำเนินการของเครือข่ายและเป็นตำแหน่งที่ดีในการดู การดำเนินการ

หากคุณกำลังใช้ 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 รายการสำหรับเครือข่าย การเชื่อมต่อ หากแอปใช้ไลบรารีการเชื่อมต่อเครือข่ายอื่น คุณอาจ สามารถดูกิจกรรมบนเครือข่ายของคุณได้ในเครื่องมือตรวจสอบเครือข่าย หากคุณมี ได้รับข้อความแสดงข้อผิดพลาดนี้ แต่แอปของคุณใช้ HttpsURLConnection หรือ OkHttp รายงานข้อบกพร่อง หรือ ค้นหาปัญหา แท็กติดตาม เพื่อรวมความคิดเห็นของคุณในรายงานที่มีอยู่ซึ่งเกี่ยวข้องกับปัญหาของคุณ คุณ ยังสามารถใช้ทรัพยากรเหล่านี้เพื่อขอรับการสนับสนุนสำหรับไลบรารีเพิ่มเติมได้อีกด้วย