แอปมีประสิทธิภาพไม่ดีหากตอบสนองช้า แสดงภาพเคลื่อนไหวที่กระตุก ค้าง หรือใช้พลังงานมากเกินไป การแก้ไขปัญหาด้านประสิทธิภาพเกี่ยวข้องกับการจัดทำโปรไฟล์แอป หรือระบุส่วนที่แอปใช้ทรัพยากรอย่างไม่มีประสิทธิภาพ เช่น CPU, หน่วยความจำ, กราฟิก หรือแบตเตอรี่ของอุปกรณ์ หัวข้อนี้อธิบายเครื่องมือและเทคนิคของ Android Studio ที่ใช้เพื่อแก้ปัญหาด้านประสิทธิภาพที่พบบ่อย
ดูวิธีเรียกใช้เครื่องมือวิเคราะห์ประสิทธิภาพแบบสแตนด์อโลนโดยไม่ต้องเรียกใช้ Android Studio IDE ทั้งหมด (Windows หรือ Linux เท่านั้น) ได้ที่หัวข้อเรียกใช้เครื่องมือวิเคราะห์ประสิทธิภาพแบบสแตนด์อโลน
ข้อกำหนด
เราขอแนะนำให้คุณมีสิ่งต่อไปนี้เพื่อโปรไฟล์แอป
แอปที่มีตัวแปรรุ่นที่เปิดใช้การกำหนดค่า
profileable
ไฟล์ Manifest หรือที่เรียกว่าแอปที่โปรไฟล์ได้ โดยค่าเริ่มต้น แอปจะตั้งค่าการกำหนดค่านี้เป็น "จริง" หากต้องการตรวจสอบหรือเปลี่ยนแปลงการกําหนดค่านี้ ให้เปิดไฟล์ Manifest หรือAndroidManifest.xml
ของแอป แล้วมองหาการกําหนดค่าไฟล์ Manifestprofileable
ในส่วน<application>
<profileable android:shell="true" />
อุปกรณ์ทดสอบเสมือนจริงหรือจริงที่ใช้ API ระดับ 29 ขึ้นไปและมี Google Play
ปลั๊กอิน Android Gradle 7.3 ขึ้นไป
แอปที่โปรไฟล์ได้กับแอปที่แก้ไขข้อบกพร่องได้
แอปที่โปรไฟล์ได้ช่วยให้คุณทํางานโปรไฟล์ที่พบบ่อยที่สุดได้ แต่คุณควรใช้แอปที่แก้ไขข้อบกพร่องได้แทนหากต้องการบันทึกการจัดสรรหน่วยความจําของ Java/Kotlin หรือบันทึกการถ่ายโอนข้อมูลกอง heap กระบวนการของแอปที่แก้ไขข้อบกพร่องได้และอุปกรณ์ที่ใช้ API ระดับ 26 ขึ้นไปยังช่วยให้คุณเห็นไทม์ไลน์การโต้ตอบ ซึ่งแสดงการโต้ตอบของผู้ใช้และเหตุการณ์ในวงจรชีวิตของแอปในมุมมองงานที่มีข้อมูลดังกล่าว
แอปที่แก้ไขข้อบกพร่องได้จะอิงตามdebug
ตัวแปรบิลด์ของแอป และให้คุณใช้เครื่องมือการพัฒนา เช่น โปรแกรมแก้ไขข้อบกพร่องได้ แต่อาจส่งผลเสียต่อประสิทธิภาพบ้าง แอปที่โปรไฟล์ได้จะอิงตามตัวแปร release
ของตัวแอป และเปิดใช้งานโปรไฟล์ทั่วไปชุดย่อยโดยไม่เพิ่มภาระด้านประสิทธิภาพของบิลด์แก้ไขข้อบกพร่อง
สร้างและเรียกใช้แอปที่โปรไฟล์ได้
หากต้องการสร้างและเรียกใช้แอปที่โปรไฟล์ได้ ให้ทําตามขั้นตอนต่อไปนี้ใน Android Studio
- สร้างการกําหนดค่าการเรียกใช้/การแก้ไขข้อบกพร่อง หากยังไม่มี
- เลือกตัวแปรรุ่นของบิลด์ (สร้าง > เลือกตัวแปรของบิลด์)
- คลิกการดำเนินการเพิ่มเติม > โปรไฟล์ "app" ที่มีค่าใช้จ่ายเพิ่มเติมต่ำ หรือโปรไฟล์ "app" ที่มีข้อมูลครบถ้วน ("app" คือชื่อของการกำหนดค่าการเรียกใช้ จึงอาจแตกต่างไปสำหรับคุณ) หากต้องการเลือกระหว่าง 2 ตัวเลือกนี้ โปรดดูข้อกำหนด แอปจะเปิดในอุปกรณ์ทดสอบและแผงเครื่องมือวิเคราะห์จะเปิดขึ้นใน Android Studio
หากวิธีการเหล่านี้ไม่ได้ผล โปรดดูสร้างและเรียกใช้แอปที่โปรไฟล์ได้ด้วยตัวเอง
เริ่มสร้างโปรไฟล์
หากต้องการเริ่มงานโปรไฟล์ ให้ทําตามขั้นตอนต่อไปนี้
เลือกกระบวนการจากรายการในแท็บหน้าแรกภายในแผงเครื่องมือวิเคราะห์โปรไฟล์ ในกรณีส่วนใหญ่ คุณควรเลือกกระบวนการหลักที่แสดงถึงแอป
เลือกงานโปรไฟล์จากส่วนงาน ดูข้อมูลเพิ่มเติมเกี่ยวกับงานได้ในหน้าอื่นๆ ในส่วนนี้ งานโปรไฟล์บางอย่างอาจใช้ไม่ได้กับบางกระบวนการ หากไม่ทราบว่าควรเริ่มต้นตรงไหน ให้ดูภาพรวมของกิจกรรมด้านประสิทธิภาพโดยตรวจสอบแอปแบบเรียลไทม์
ใช้เมนูแบบเลื่อนลงเริ่มงานโปรแกรมวิเคราะห์จากเพื่อเลือกว่าจะเริ่มงานโปรแกรมวิเคราะห์ตั้งแต่เริ่มต้นหรือจะแนบไปกับกระบวนการขณะทำงาน หากพยายามปรับปรุงเวลาเริ่มต้นของแอปหรือบันทึกกระบวนการที่เกิดขึ้นระหว่างที่แอปเริ่มต้น คุณควรรวมการเริ่มต้นด้วย ไม่เช่นนั้น ให้เริ่มโปรไฟล์ที่สถานะปัจจุบันของแอป
คลิกเริ่มงานโปรแกรมวิเคราะห์โปรไฟล์ งานจะเริ่มในแท็บของตัวเอง
โต้ตอบกับแอปเพื่อเรียกให้กิจกรรมเริ่มต้น
หยุดการบันทึก (หากมี) รอให้ระบบแยกวิเคราะห์ และดูผลลัพธ์
เปรียบเทียบ ส่งออก และนําเข้าร่องรอย
เมื่อคุณหยุดการทําโปรไฟล์ ระบบจะบันทึกการทําโปรไฟล์นั้นโดยอัตโนมัติในแท็บการบันทึกที่ผ่านมาในแผงเครื่องมือวิเคราะห์โปรไฟล์ คุณสามารถใช้ไฟล์บันทึกเสียงที่บันทึกไว้เหล่านี้เพื่อเปรียบเทียบการใช้ทรัพยากรในสถานการณ์ต่างๆ ได้ ระบบจะบันทึกไฟล์บันทึกไว้ตลอดระยะเวลาของเซสชัน Android Studio ปัจจุบัน หากต้องการเก็บไฟล์บันทึกไว้นานกว่านั้น ให้ส่งออกโดยคลิกส่งออกไฟล์บันทึก การส่งออกการติดตามบางประเภทอาจไม่สามารถทำได้
หากต้องการนําเข้าการติดตาม เช่น จากการเรียกใช้ Android Studio ก่อนหน้านี้ ให้คลิกนําเข้าไฟล์บันทึก ในแท็บไฟล์บันทึกที่ผ่านมา แล้วเลือกไฟล์การติดตาม นอกจากนี้ คุณยังนำเข้าไฟล์ได้โดยลากไฟล์นั้นลงในหน้าต่างเครื่องมือแก้ไขของ Android Studio
แก้ไขการกำหนดค่าการบันทึก
หากต้องการแก้ไขการกําหนดค่าการบันทึกงานของโปรแกรมวิเคราะห์ ให้คลิกการตั้งค่าโปรแกรมวิเคราะห์ การตั้งค่าหลักที่คุณสลับได้มีอยู่ 2 อย่าง ได้แก่
- สําหรับงานที่ต้องมีการสุ่มตัวอย่าง ช่วงเวลาระหว่างตัวอย่างจะแสดงเวลาระหว่างตัวอย่างแต่ละรายการ ยิ่งคุณระบุช่วงเวลาสั้นลงเท่าใด ไฟล์ที่บันทึกไว้ก็จะมีขนาดถึงขีดจำกัดเร็วขึ้นเท่านั้น
- ขีดจำกัดขนาดไฟล์แสดงถึงปริมาณข้อมูลที่เขียนลงในอุปกรณ์ที่เชื่อมต่อได้ เมื่อคุณหยุดบันทึก Android Studio จะแยกวิเคราะห์ข้อมูลนี้และแสดงในหน้าต่างเครื่องมือวิเคราะห์โปรไฟล์ หากคุณเพิ่มขีดจำกัดและบันทึกข้อมูลจำนวนมาก Android Studio จะใช้เวลานานขึ้นมากในการแยกวิเคราะห์ไฟล์และอาจไม่ตอบสนอง