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

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

Android มีไลบรารีและแนวทางการเปรียบเทียบประสิทธิภาพ 2 รายการสําหรับการวิเคราะห์และทดสอบสถานการณ์ต่างๆ ในแอป ได้แก่ การเปรียบเทียบประสิทธิภาพแบบ Macro และแบบ Micro

Macrobenchmark

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

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

การเปรียบเทียบย่อย

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

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

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

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

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

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