เปรียบเทียบแอป

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

Android มีไลบรารีการเปรียบเทียบและแนวทาง 2 แบบสำหรับการวิเคราะห์และ ทดสอบสถานการณ์ต่างๆ ในแอป ได้แก่ Macrobenchmark และ Microbenchmark

มาโครเบนช์มาร์ก

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

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

Microbenchmark

ไลบรารี Microbenchmark ช่วยให้คุณเปรียบเทียบโค้ดของแอปได้โดยตรงในลูป ออกแบบมาเพื่อวัดงานของ CPU ที่ประเมินประสิทธิภาพในกรณีที่ดีที่สุด เช่น การเข้าถึงดิสก์ที่แคชไว้และ Just in Time (JIT) ที่อุ่นเครื่องแล้ว ซึ่งคุณอาจเห็นได้ในลูปภายในหรือฟังก์ชันที่ใช้งานบ่อยเฉพาะ ​​ไลบรารีจะวัดได้เฉพาะ โค้ดที่คุณเรียกใช้ได้โดยตรงในสภาพแวดล้อมที่แยกจากกัน

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

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

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

การเปรียบเทียบคลังข้อมูลการเปรียบเทียบ

มาโครเบนช์มาร์ก Microbenchmark
เวอร์ชัน API 23 ขึ้นไป 14 ขึ้นไป
การทำงาน วัดจุดแรกเข้าหรือการโต้ตอบระดับสูง เช่น การเปิดใช้งานหรือการเลื่อนรายการ วัดฟังก์ชันแต่ละรายการ
ขอบเขต การทดสอบแบบแยกกระบวนการของแอปแบบเต็ม การทดสอบงานของ CPU ในกระบวนการ
ความเร็ว ความเร็วในการทำซ้ำปานกลาง โดยอาจ นานกว่า 1 นาที ความเร็วในการทำซ้ำที่รวดเร็ว มักใช้เวลาไม่ถึง 10 วินาที
การติดตาม ผลลัพธ์มาพร้อมกับร่องรอยการทำโปรไฟล์ การสุ่มตัวอย่างและการติดตามเมธอดที่ไม่บังคับ