คุณสามารถระบุจุดคอขวดที่อาจเกิดขึ้นและปรับปรุงประสิทธิภาพโดยรวมของแอปได้โดยบันทึกกิจกรรมในอุปกรณ์ในช่วงเวลาสั้นๆ และรวบรวมร่องรอยของช่วงเริ่มต้นของแอป หน้านี้แสดงวิธี ตั้งค่าสภาพแวดล้อมสำหรับการทดสอบประสิทธิภาพ
ใช้ไลบรารี Macrobenchmark
ไลบรารี Macrobenchmark จะวัด การโต้ตอบของผู้ใช้ปลายทางที่ใหญ่ขึ้น เช่น การเริ่มต้น การโต้ตอบกับ UI และ ภาพเคลื่อนไหว ไลบรารีช่วยให้คุณควบคุมสภาพแวดล้อมด้านประสิทธิภาพที่คุณกำลังทดสอบได้โดยตรง ซึ่งช่วยให้คุณควบคุมการคอมไพล์ การเริ่มต้น และการหยุดแอป เพื่อวัดเวลาเริ่มต้นแอปที่แม่นยำได้โดยตรง นอกจากนี้ยังช่วยลด สัญญาณรบกวนและความแตกต่างระหว่างการทดสอบ
ใช้อุปกรณ์ระดับกลางเพื่อระบุปัญหาด้านประสิทธิภาพที่อาจเกิดขึ้น
ทดสอบประสิทธิภาพในอุปกรณ์แต่ละประเภทที่คุณสนใจ อุปกรณ์ระดับไฮเอนด์ที่มีคอมโพเนนต์ที่รวดเร็วอาจซ่อนปัญหาด้านประสิทธิภาพในอุปกรณ์รุ่นก่อนหน้าที่มีความเร็วช้ากว่าหรือมี RAM น้อย อุปกรณ์ระดับล่างอาจใช้เวลานานกว่าในการโหลดข้อมูลหรือเรียกใช้โค้ด ซึ่งทำให้ระบุจุดคอขวดได้ง่ายขึ้น โดยปกติแล้วการเพิ่มประสิทธิภาพสำหรับอุปกรณ์ระดับล่างยัง เป็นประโยชน์ต่อการเพิ่มประสิทธิภาพสำหรับอุปกรณ์ระดับสูงด้วย
ลดเสียงรบกวน
- เครือข่าย: ทดสอบแอปหรือกระบวนการด้วยความเร็ว Wi-Fi ของอินเทอร์เน็ตที่เสถียรและรวดเร็ว หากเวลาเริ่มต้นของแอปมีคำขอเครือข่าย ให้สังเกตว่าส่วนนี้อาจมีความแปรปรวน
- การใช้ RAM: อย่าให้แอปอื่นๆ ทำงานในเบื้องหลังของอุปกรณ์ ขณะทดสอบประสิทธิภาพการเริ่มต้นแอป
- แบตเตอรี่: ตรวจสอบว่าอุปกรณ์ชาร์จแบตเตอรี่แล้วเพื่อหลีกเลี่ยงการจำกัดประสิทธิภาพการทำงานที่ใช้พลังงานต่ำของฮาร์ดแวร์
ทดสอบในบิลด์รุ่น
ใช้บิลด์รุ่นเพื่อทดสอบประสิทธิภาพ บิลด์ดีบักไม่เหมาะสําหรับการ ดีบักประสิทธิภาพ เนื่องจาก ไม่ได้ให้การเพิ่มประสิทธิภาพการคอมไพล์และส่งผลต่อประสิทธิภาพอย่างมาก
อย่างไรก็ตาม คุณใช้บิลด์รุ่นที่ไม่ได้ปิดบังเพื่อระบุชื่อคลาสและชื่อการดำเนินการได้
โดยเฉพาะอย่างยิ่ง เราขอแนะนำให้เปิดใช้ minify
(R8) และปิดใช้การปกปิดโค้ด โดยมี
-dontobfuscate
ในไฟล์ Proguard
การระบุเลย์เอาต์ ชิ้นงาน และทรัพยากรจะง่ายขึ้นหากบิลด์ไม่ได้
ปิดบัง
ตรวจสอบว่าคุณได้รวมแฟล็ก profileable ไว้ในไฟล์ Manifest เพื่อให้เหตุการณ์ที่กําหนดเองปรากฏในบิลด์ที่แก้ไขข้อบกพร่องไม่ได้ โดยฟีเจอร์นี้พร้อมใช้งานใน Android 10 (API ระดับ 29) ขึ้นไป
เพิ่มการติดตามที่กำหนดเองลงในการดำเนินการของแอป
เพิ่มการติดตามที่กำหนดเองภายในแอปเพื่อให้ระบุได้ง่ายขึ้นว่าแอปของคุณดำเนินการใดบ้างเมื่อเทียบกับ ไลบรารีอื่นๆ ซึ่งจะช่วยให้คุณมีบริบทเพิ่มเติมเกี่ยวกับสิ่งที่แอปกำลังทำอยู่ตลอดเวลา