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

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

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

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

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

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

การทดสอบประสิทธิภาพแบบไมโคร

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

กรณีที่ควรใช้การเปรียบเทียบมีดังนี้ * เมื่อแอปต้องประมวลผลโครงสร้างข้อมูลที่ซับซ้อน * เมื่อแอปมีอัลกอริทึมที่ต้องใช้การคำนวณเฉพาะที่เรียกใช้หลายครั้งในระหว่างการเรียกใช้แอป

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

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

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

การเปรียบเทียบคลังเกณฑ์มาตรฐาน

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