ทำโปรไฟล์ประสิทธิภาพของแอป

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

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

Android Studio มีเครื่องมือการทำโปรไฟล์มากมายเพื่อช่วยค้นหาและแสดงภาพปัญหาที่อาจเกิดขึ้น

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

เครื่องมือเหล่านี้ใช้ได้กับ Android 5.0 (API ระดับ 21) ขึ้นไป สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ โปรดดูหน้าอื่นๆ ในส่วนนี้ของคู่มือผู้ใช้

ไลบรารี Jetpack Comparison ช่วยให้แอปพลิเคชันของคุณวัดการดำเนินการที่สำคัญต่างๆ ได้ ดังนี้

  • การเปรียบเทียบมาโคร: วัด Use Case ด้านประสิทธิภาพที่สำคัญ ซึ่งรวมถึงการเริ่มต้นแอปพลิเคชัน และภาพวาดซ้ำที่ทริกเกอร์โดยการดำเนินการ เช่น ภาพเคลื่อนไหวหรือการเลื่อน UI
  • Microbenchmark: วัดต้นทุน CPU ของฟังก์ชันที่เฉพาะเจาะจง

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับไลบรารีเหล่านี้ โปรดดูที่การเปรียบเทียบ แอปของคุณ

แอปพลิเคชันในโปรไฟล์

Profileable เป็นไฟล์ Manifest การกำหนดค่าที่เปิดตัวใน Android Q โดยสามารถระบุได้ว่าผู้ใช้ สามารถสร้างโปรไฟล์แอปพลิเคชันนี้ผ่านเครื่องมือต่างๆ เช่น Android Studio, Simpleperf และ Perfetto

ก่อนวันที่ profileable นักพัฒนาแอปส่วนใหญ่สามารถสร้างโปรไฟล์ได้เพียงอย่างเดียว แอปที่แก้ไขข้อบกพร่องได้ใน Android ซึ่งมีค่าใช้จ่ายด้านประสิทธิภาพเพิ่มขึ้นอย่างมาก เป็นผลข้างเคียง ต้นทุนด้านประสิทธิภาพเหล่านี้อาจทำให้ผลลัพธ์การทำโปรไฟล์ไม่ถูกต้อง โดยเฉพาะอย่างยิ่งหาก เกี่ยวข้องกับช่วงเวลา ตารางที่ 1 สรุปความแตกต่างระหว่างแก้ไขข้อบกพร่องได้และสร้างโปรไฟล์ได้ แอป

ตาราง 1 สรุปความแตกต่างที่สำคัญระหว่างแอปที่แก้ไขข้อบกพร่องได้และแอปที่ทำโปรไฟล์ได้
ฟีเจอร์ แก้ไขข้อบกพร่องได้ สร้างโปรไฟล์ได้
เครื่องมือสร้างโปรไฟล์หน่วยความจำ เต็ม

ใช่:

ไม่:

เครื่องมือสร้างโปรไฟล์ CPU เต็ม

ใช่:

ไม่:

เครื่องมือสร้างโปรไฟล์เครือข่าย ใช่ ไม่
เครื่องมือสร้างโปรไฟล์พลังงาน ใช่ ไม่
เครื่องมือสร้างโปรไฟล์ขั้นสูง ใช่ ใช่
การตรวจสอบเหตุการณ์ ใช่ ไม่

เปิดตัว Profileable เพื่อให้นักพัฒนาแอปเลือกที่จะอนุญาตให้แอปแสดง ไปจนถึงเครื่องมือสำหรับทำโปรไฟล์ ขณะที่มีค่าใช้จ่ายด้านประสิทธิภาพน้อยมาก APK ที่สามารถสร้างโปรไฟล์ได้ เป็น APK รุ่นที่มีบรรทัด <profileable android:shell="true"/> เพิ่มไว้ในส่วน <application> ของไฟล์ Manifest

สร้างและเรียกใช้แอปที่สามารถสร้างโปรไฟล์ได้โดยอัตโนมัติ

คุณสามารถกำหนดค่า สร้าง และเรียกใช้แอปที่สามารถสร้างโปรไฟล์ได้ในคลิกเดียว ฟีเจอร์นี้ต้องใช้ อุปกรณ์ทดสอบเสมือนจริงหรืออุปกรณ์ทดสอบที่ใช้ API ระดับ 29 ขึ้นไปและมี Google Play วิธีใช้ โปรดคลิกลูกศรข้างไอคอนแอปโปรไฟล์ และเลือกจาก 2 ตัวเลือกดังนี้

เมนูบิลด์ที่สามารถสร้างโปรไฟล์ได้ในคลิกเดียว
  • โปรไฟล์ "แอป" โดยมีค่าใช้จ่ายต่ำในการเริ่มการทำงานของ CPU และหน่วยความจำ โปรไฟล์โปรไฟล์ ในเครื่องมือสร้างโปรไฟล์หน่วยความจำเท่านั้น บันทึกการจัดสรรโฆษณาเนทีฟ ไว้

    ทำโปรไฟล์มีค่าใช้จ่ายต่ำ
  • โปรไฟล์ "แอป" ที่มีข้อมูลครบถ้วนจะเริ่มใช้งาน CPU, หน่วยความจำ และ เครื่องมือโปรไฟล์พลังงาน

    กำลังทำโปรไฟล์ด้วยข้อมูลที่สมบูรณ์

สร้างและเรียกใช้แอปที่สามารถสร้างโปรไฟล์ได้ด้วยตนเอง

หากต้องการสร้างแอปพลิเคชันที่สามารถสร้างโปรไฟล์ได้ด้วยตนเอง คุณต้องสร้างแอปพลิเคชันรุ่นก่อนและ จากนั้นให้อัปเดตไฟล์ Manifest ซึ่งจะเปลี่ยนแอปพลิเคชันที่เผยแพร่เป็นแอปพลิเคชันที่สร้างโปรไฟล์ได้ หลังจากคุณกำหนดค่าแอปพลิเคชันที่ใช้โปรไฟล์ได้ ให้เปิดเครื่องมือสร้างโปรไฟล์ และเลือกโปรไฟล์ที่สามารถสร้างโปรไฟล์ได้ เพื่อวิเคราะห์

สร้างแอปที่เผยแพร่

หากต้องการสร้างแอปพลิเคชันรุ่นเพื่อวัตถุประสงค์ในการทำโปรไฟล์ ให้ทำดังนี้

  1. รับรองแอปพลิเคชันของคุณด้วยคีย์การแก้ไขข้อบกพร่องโดยเพิ่มบรรทัดต่อไปนี้ในส่วน build.gradle ไฟล์ หากมีตัวแปรบิลด์ที่เผยแพร่ที่ใช้งานได้อยู่แล้ว คุณจะทำสิ่งต่อไปนี้ได้ ให้ข้ามไปยังขั้นตอนถัดไป

            buildTypes {
              release {
                signingConfig signingConfigs.debug
              }
            }
          
  2. ใน Android Studio ให้เลือกสร้าง > เลือกตัวแปรบิลด์... แล้วเลือก ที่เป็นรุ่นพิเศษ

เปลี่ยนรุ่นเป็นรุ่นที่สามารถสร้างโปรไฟล์ได้

  1. แปลงแอปพลิเคชันรุ่นจากด้านบนเป็นแอปพลิเคชันที่สร้างโปรไฟล์ได้โดยเปิดแอป AndroidManifest.xml ไฟล์และเพิ่มรายการต่อไปนี้ภายใน <application> ดูรายละเอียดเพิ่มเติมได้ที่ สร้างแอปพลิเคชันสำหรับการเปิดตัว

    <profileable android:shell="true"/>

  2. ทั้งนี้ขึ้นอยู่กับเวอร์ชัน SDK คุณอาจต้องเพิ่มบรรทัดต่อไปนี้ในส่วน build.gradle ไฟล์

          aaptOptions {
            additionalParameters =["--warn-manifest-validation"]
          }
        

ทำโปรไฟล์แอปที่สามารถสร้างโปรไฟล์ได้

หากต้องการสร้างโปรไฟล์แอปที่สร้างโปรไฟล์ได้ ให้ทำดังนี้

  1. เปิดแอปจากโปรแกรมจำลองหรืออุปกรณ์การพัฒนา

  2. ใน Android Studio ให้เปิดเครื่องมือสร้างโปรไฟล์โดยเลือกดู > หน้าต่างเครื่องมือ > Profiler

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

    เมนูโปรไฟล์ได้
  4. เครื่องมือสร้างโปรไฟล์ควรแนบไปกับแอปพลิเคชัน มีเพียง CPU และเครื่องมือสร้างโปรไฟล์หน่วยความจำเท่านั้นที่ใช้งานได้ มีความสามารถจำกัดสำหรับเครื่องมือสร้างโปรไฟล์หน่วยความจำ

    มุมมองเซสชันของโปรไฟล์ได้
    เมนูโปรไฟล์ได้
    เมนูโปรไฟล์ได้

เซสชัน

คุณสามารถบันทึกข้อมูลเครื่องมือสร้างโปรไฟล์เป็นเซสชัน ซึ่งจะเก็บรักษาไว้จนกว่าคุณจะ ออกจาก Android Studio บันทึกข้อมูลการทำโปรไฟล์ในหลายเซสชันและ เพื่อสลับไปมา คุณสามารถเปรียบเทียบการใช้ทรัพยากรในสถานการณ์ต่างๆ

  • หากต้องการเริ่มเซสชันใหม่ ให้คลิกเริ่มเซสชันการสร้างโปรไฟล์ใหม่ ปุ่ม และเลือกกระบวนการของแอปจากเมนูแบบเลื่อนลงที่ปรากฏขึ้น
  • เมื่อคุณ บันทึกการติดตาม หรือ ถ่ายภาพ ฮีปดัมป์ Android Studio จะเพิ่มข้อมูลดังกล่าว (พร้อมด้วยเครือข่ายของแอป) ) เป็นรายการแยกต่างหากไปยังเซสชันปัจจุบัน
  • หากต้องการหยุดเพิ่มข้อมูลในเซสชันปัจจุบัน ให้คลิกหยุดข้อมูลปัจจุบัน เซสชันการทำโปรไฟล์
  • หากต้องการนำเข้าการติดตามที่ส่งออกจากการเรียกใช้ Android Studio ก่อนหน้านี้ ให้คลิก เริ่มเซสชันเครื่องมือสร้างโปรไฟล์ใหม่ และเลือกโหลดจากไฟล์

เปิดใช้การสนับสนุนเพิ่มเติมสำหรับอุปกรณ์รุ่นเก่า (API ระดับ < 26)

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

  • ไทม์ไลน์ของเหตุการณ์ในหน้าต่างเครื่องมือสร้างโปรไฟล์ทั้งหมด
  • จำนวนออบเจ็กต์ที่จัดสรรในเครื่องมือสร้างโปรไฟล์หน่วยความจำ
  • กิจกรรมการเก็บขยะในเครื่องมือสร้างโปรไฟล์หน่วยความจำ
  • รายละเอียดเกี่ยวกับไฟล์ที่ส่งทั้งหมดในเครื่องมือสร้างโปรไฟล์เครือข่าย

หากต้องการเปิดการสนับสนุนเพิ่มเติมสำหรับอุปกรณ์รุ่นเก่า ให้ทำตามขั้นตอนต่อไปนี้

  1. เลือกเรียกใช้ > แก้ไขการกำหนดค่า
  2. เลือกโมดูลแอปในแผงด้านซ้าย
  3. คลิกแท็บการทำโปรไฟล์ จากนั้นเลือกเปิดใช้งานการสนับสนุนเพิ่มเติมสำหรับ อุปกรณ์รุ่นเก่า (API ระดับ < 26)
  4. สร้างและเรียกใช้แอปอีกครั้ง

การเปิดใช้การสนับสนุนเพิ่มเติมสำหรับอุปกรณ์รุ่นเก่าจะทำให้กระบวนการสร้าง ซึ่งทำงานช้าลง ดังนั้นคุณควรเปิดใช้เฉพาะเมื่อต้องการเริ่มทำโปรไฟล์แอปเท่านั้น

เรียกใช้เครื่องมือสร้างโปรไฟล์แบบสแตนด์อโลน

เครื่องมือสร้างโปรไฟล์ Android Studio แบบสแตนด์อโลนช่วยให้คุณสร้างโปรไฟล์แอปได้โดยไม่ต้องเรียกใช้ Android เวอร์ชันเต็ม Studio IDE

ในการเรียกใช้เครื่องมือสร้างโปรไฟล์แบบสแตนด์อโลน ให้ทำดังนี้

  1. ตรวจสอบว่าเครื่องมือสร้างโปรไฟล์ไม่ได้ทำงานอยู่ภายใน Android Studio ในขณะนี้
  2. ไปที่ไดเรกทอรีการติดตั้งแล้วไปที่ไดเรกทอรี bin:

    Windows/Linux: studio-installation-folder/bin

    macOS: macOS ไม่รองรับการใช้เครื่องมือสร้างโปรไฟล์แบบสแตนด์อโลน

  3. เรียกใช้ profiler.exe หรือ profiler.sh ทั้งนี้ขึ้นอยู่กับระบบปฏิบัติการของคุณ Android หน้าจอแนะนําของ Studio จะปรากฏขึ้น หลังจากหน้าจอแนะนำหายไป หน้าต่างเครื่องมือสร้างโปรไฟล์จะเปิดขึ้น