จะถือว่าแอปมีประสิทธิภาพไม่ดีหากตอบสนองช้า แสดงภาพเคลื่อนไหวกระตุก ค้างหรือใช้พลังงานมากเกินไป การแก้ไขปัญหาด้านประสิทธิภาพเกี่ยวข้องกับการระบุพื้นที่ใน ที่แอปของคุณใช้ทรัพยากรต่างๆ เช่น 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 สรุปความแตกต่างระหว่างแก้ไขข้อบกพร่องได้และสร้างโปรไฟล์ได้
แอป
ฟีเจอร์ | แก้ไขข้อบกพร่องได้ | สร้างโปรไฟล์ได้ |
---|---|---|
เครื่องมือสร้างโปรไฟล์หน่วยความจำ | เต็ม |
ใช่: ไม่:
|
เครื่องมือสร้างโปรไฟล์ CPU | เต็ม |
ใช่:
ไม่:
|
เครื่องมือสร้างโปรไฟล์เครือข่าย | ใช่ | ไม่ |
เครื่องมือสร้างโปรไฟล์พลังงาน | ใช่ | ไม่ |
เครื่องมือสร้างโปรไฟล์ขั้นสูง | ใช่ | ใช่ |
การตรวจสอบเหตุการณ์ | ใช่ | ไม่ |
เปิดตัว Profileable
เพื่อให้นักพัฒนาแอปเลือกที่จะอนุญาตให้แอปแสดง
ไปจนถึงเครื่องมือสำหรับทำโปรไฟล์ ขณะที่มีค่าใช้จ่ายด้านประสิทธิภาพน้อยมาก APK ที่สามารถสร้างโปรไฟล์ได้
เป็น APK รุ่นที่มีบรรทัด <profileable android:shell="true"/>
เพิ่มไว้ในส่วน <application>
ของไฟล์ Manifest
สร้างและเรียกใช้แอปที่สามารถสร้างโปรไฟล์ได้โดยอัตโนมัติ
คุณสามารถกำหนดค่า สร้าง และเรียกใช้แอปที่สามารถสร้างโปรไฟล์ได้ในคลิกเดียว ฟีเจอร์นี้ต้องใช้
อุปกรณ์ทดสอบเสมือนจริงหรืออุปกรณ์ทดสอบที่ใช้ API ระดับ 29 ขึ้นไปและมี Google Play วิธีใช้
โปรดคลิกลูกศรข้างไอคอนแอปโปรไฟล์
และเลือกจาก 2 ตัวเลือกดังนี้
![เมนูบิลด์ที่สามารถสร้างโปรไฟล์ได้ในคลิกเดียว](https://developer.android.com/static/studio/images/one-click-profileable-build-menu.png?authuser=19&hl=th)
โปรไฟล์ "แอป" โดยมีค่าใช้จ่ายต่ำในการเริ่มการทำงานของ CPU และหน่วยความจำ โปรไฟล์โปรไฟล์ ในเครื่องมือสร้างโปรไฟล์หน่วยความจำเท่านั้น บันทึกการจัดสรรโฆษณาเนทีฟ ไว้
โปรไฟล์ "แอป" ที่มีข้อมูลครบถ้วนจะเริ่มใช้งาน CPU, หน่วยความจำ และ เครื่องมือโปรไฟล์พลังงาน
สร้างและเรียกใช้แอปที่สามารถสร้างโปรไฟล์ได้ด้วยตนเอง
หากต้องการสร้างแอปพลิเคชันที่สามารถสร้างโปรไฟล์ได้ด้วยตนเอง คุณต้องสร้างแอปพลิเคชันรุ่นก่อนและ จากนั้นให้อัปเดตไฟล์ Manifest ซึ่งจะเปลี่ยนแอปพลิเคชันที่เผยแพร่เป็นแอปพลิเคชันที่สร้างโปรไฟล์ได้ หลังจากคุณกำหนดค่าแอปพลิเคชันที่ใช้โปรไฟล์ได้ ให้เปิดเครื่องมือสร้างโปรไฟล์ และเลือกโปรไฟล์ที่สามารถสร้างโปรไฟล์ได้ เพื่อวิเคราะห์
สร้างแอปที่เผยแพร่
หากต้องการสร้างแอปพลิเคชันรุ่นเพื่อวัตถุประสงค์ในการทำโปรไฟล์ ให้ทำดังนี้
-
รับรองแอปพลิเคชันของคุณด้วยคีย์การแก้ไขข้อบกพร่องโดยเพิ่มบรรทัดต่อไปนี้ในส่วน
build.gradle
ไฟล์ หากมีตัวแปรบิลด์ที่เผยแพร่ที่ใช้งานได้อยู่แล้ว คุณจะทำสิ่งต่อไปนี้ได้ ให้ข้ามไปยังขั้นตอนถัดไปbuildTypes { release { signingConfig signingConfigs.debug } }
-
ใน Android Studio ให้เลือกสร้าง > เลือกตัวแปรบิลด์... แล้วเลือก ที่เป็นรุ่นพิเศษ
เปลี่ยนรุ่นเป็นรุ่นที่สามารถสร้างโปรไฟล์ได้
-
แปลงแอปพลิเคชันรุ่นจากด้านบนเป็นแอปพลิเคชันที่สร้างโปรไฟล์ได้โดยเปิดแอป
AndroidManifest.xml
ไฟล์และเพิ่มรายการต่อไปนี้ภายใน<application>
ดูรายละเอียดเพิ่มเติมได้ที่ สร้างแอปพลิเคชันสำหรับการเปิดตัว<profileable android:shell="true"/>
-
ทั้งนี้ขึ้นอยู่กับเวอร์ชัน SDK คุณอาจต้องเพิ่มบรรทัดต่อไปนี้ในส่วน
build.gradle
ไฟล์aaptOptions { additionalParameters =["--warn-manifest-validation"] }
ทำโปรไฟล์แอปที่สามารถสร้างโปรไฟล์ได้
หากต้องการสร้างโปรไฟล์แอปที่สร้างโปรไฟล์ได้ ให้ทำดังนี้
-
เปิดแอปจากโปรแกรมจำลองหรืออุปกรณ์การพัฒนา
-
ใน Android Studio ให้เปิดเครื่องมือสร้างโปรไฟล์โดยเลือกดู > หน้าต่างเครื่องมือ > Profiler
-
หลังจากเปิดแอปพลิเคชันแล้ว ให้คลิก
ในเครื่องมือสร้างโปรไฟล์เพื่อดูเมนูแบบเลื่อนลง เลือกอุปกรณ์ แล้วเลือก ข้อมูลของแอปพลิเคชันในกระบวนการอื่นๆ ที่สามารถสร้างโปรไฟล์ได้
-
เครื่องมือสร้างโปรไฟล์ควรแนบไปกับแอปพลิเคชัน มีเพียง CPU และเครื่องมือสร้างโปรไฟล์หน่วยความจำเท่านั้นที่ใช้งานได้ มีความสามารถจำกัดสำหรับเครื่องมือสร้างโปรไฟล์หน่วยความจำ
เซสชัน
คุณสามารถบันทึกข้อมูลเครื่องมือสร้างโปรไฟล์เป็นเซสชัน ซึ่งจะเก็บรักษาไว้จนกว่าคุณจะ ออกจาก Android Studio บันทึกข้อมูลการทำโปรไฟล์ในหลายเซสชันและ เพื่อสลับไปมา คุณสามารถเปรียบเทียบการใช้ทรัพยากรในสถานการณ์ต่างๆ
- หากต้องการเริ่มเซสชันใหม่ ให้คลิกเริ่มเซสชันการสร้างโปรไฟล์ใหม่
ปุ่ม
และเลือกกระบวนการของแอปจากเมนูแบบเลื่อนลงที่ปรากฏขึ้น
- เมื่อคุณ บันทึกการติดตาม หรือ ถ่ายภาพ ฮีปดัมป์ Android Studio จะเพิ่มข้อมูลดังกล่าว (พร้อมด้วยเครือข่ายของแอป) ) เป็นรายการแยกต่างหากไปยังเซสชันปัจจุบัน
- หากต้องการหยุดเพิ่มข้อมูลในเซสชันปัจจุบัน ให้คลิกหยุดข้อมูลปัจจุบัน
เซสชันการทำโปรไฟล์
- หากต้องการนำเข้าการติดตามที่ส่งออกจากการเรียกใช้ Android Studio ก่อนหน้านี้ ให้คลิก
เริ่มเซสชันเครื่องมือสร้างโปรไฟล์ใหม่
และเลือกโหลดจากไฟล์
เปิดใช้การสนับสนุนเพิ่มเติมสำหรับอุปกรณ์รุ่นเก่า (API ระดับ < 26)
Android จะแสดงข้อมูลการสร้างโปรไฟล์เพิ่มเติมเมื่อใช้อุปกรณ์ที่ใช้ Android 7.1 หรือต่ำกว่า Studio ต้องแทรกตรรกะการตรวจสอบลงในแอปที่คอมไพล์แล้ว ข้อมูลการสร้างโปรไฟล์เพิ่มเติมเหล่านี้ ได้แก่ ดังต่อไปนี้
- ไทม์ไลน์ของเหตุการณ์ในหน้าต่างเครื่องมือสร้างโปรไฟล์ทั้งหมด
- จำนวนออบเจ็กต์ที่จัดสรรในเครื่องมือสร้างโปรไฟล์หน่วยความจำ
- กิจกรรมการเก็บขยะในเครื่องมือสร้างโปรไฟล์หน่วยความจำ
- รายละเอียดเกี่ยวกับไฟล์ที่ส่งทั้งหมดในเครื่องมือสร้างโปรไฟล์เครือข่าย
หากต้องการเปิดการสนับสนุนเพิ่มเติมสำหรับอุปกรณ์รุ่นเก่า ให้ทำตามขั้นตอนต่อไปนี้
- เลือกเรียกใช้ > แก้ไขการกำหนดค่า
- เลือกโมดูลแอปในแผงด้านซ้าย
- คลิกแท็บการทำโปรไฟล์ จากนั้นเลือกเปิดใช้งานการสนับสนุนเพิ่มเติมสำหรับ อุปกรณ์รุ่นเก่า (API ระดับ < 26)
- สร้างและเรียกใช้แอปอีกครั้ง
การเปิดใช้การสนับสนุนเพิ่มเติมสำหรับอุปกรณ์รุ่นเก่าจะทำให้กระบวนการสร้าง ซึ่งทำงานช้าลง ดังนั้นคุณควรเปิดใช้เฉพาะเมื่อต้องการเริ่มทำโปรไฟล์แอปเท่านั้น
เรียกใช้เครื่องมือสร้างโปรไฟล์แบบสแตนด์อโลน
เครื่องมือสร้างโปรไฟล์ Android Studio แบบสแตนด์อโลนช่วยให้คุณสร้างโปรไฟล์แอปได้โดยไม่ต้องเรียกใช้ Android เวอร์ชันเต็ม Studio IDE
ในการเรียกใช้เครื่องมือสร้างโปรไฟล์แบบสแตนด์อโลน ให้ทำดังนี้
- ตรวจสอบว่าเครื่องมือสร้างโปรไฟล์ไม่ได้ทำงานอยู่ภายใน Android Studio ในขณะนี้
ไปที่ไดเรกทอรีการติดตั้งแล้วไปที่ไดเรกทอรี
bin
:Windows/Linux:
studio-installation-folder/bin
macOS: macOS ไม่รองรับการใช้เครื่องมือสร้างโปรไฟล์แบบสแตนด์อโลน
- เรียกใช้
profiler.exe
หรือprofiler.sh
ทั้งนี้ขึ้นอยู่กับระบบปฏิบัติการของคุณ Android หน้าจอแนะนําของ Studio จะปรากฏขึ้น หลังจากหน้าจอแนะนำหายไป หน้าต่างเครื่องมือสร้างโปรไฟล์จะเปิดขึ้น