เมตริก

  
ติดตามและรายงานเมตริกต่างๆ ของรันไทม์สำหรับแอปพลิเคชัน
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
27 สิงหาคม 2025 - - 1.0.0-beta03 -

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ใน Metrics คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google

เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle สำหรับแอปหรือโมดูลของคุณ

ดึงดูด

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-beta03"
}

Kotlin

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-beta03")
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์

ความคิดเห็น

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

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา

เวอร์ชัน 1.0.0

เวอร์ชัน 1.0.0-beta03

27 สิงหาคม 2025

androidx.metrics:metrics-performance:1.0.0-beta03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-beta03 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไข IllegalArgumentException("พยายามนำ OnFrameMetricsAvailableListener ที่ไม่เคยเพิ่มออก") ระบบจะไม่พยายามบันทึกเวลาเฟรมเมื่อหน้าต่างไม่ได้เร่งด้วยฮาร์ดแวร์ เนื่องจาก Window.OnFrameMetricsAvailableListener ไม่รองรับ (I8fef2, b/436880904)

เวอร์ชัน 1.0.0-beta02

12 มีนาคม 2025

androidx.metrics:metrics-performance:1.0.0-beta02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-beta02 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้อง DelegatingFrameMetricsListener cannot be cast... (Id891c, b/311218678)

เวอร์ชัน 1.0.0-beta01

10 มกราคม 2024

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

androidx.metrics:metrics-performance:1.0.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-beta01 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-alpha04

5 เมษายน 2023

การเผยแพร่นี้จะอัปเดต JankStats เป็นการแก้ไขล่าสุด ซึ่งรวมถึงข้อมูลเวลาที่แม่นยำและครอบคลุมมากขึ้น

androidx.metrics:metrics-performance:1.0.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha04 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • cpuDuration แม่นยำยิ่งขึ้น รวมถึงtotalDuration ใหม่ใน API31 (I59ce8, b/243694893)

เวอร์ชัน 1.0.0-alpha03

27 กรกฎาคม 2022

androidx.metrics:metrics-performance:1.0.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตต่อไปนี้

  • รุ่นนี้มีการปรับแต่ง API เล็กน้อยเนื่องจากไลบรารีใกล้จะเปิดตัวเวอร์ชันเบต้าแล้ว การเปลี่ยนแปลง API อย่างหนึ่งคือการนำ Executor ออกจากcreateAndTrack()เมธอด Factory สำหรับสร้างออบเจ็กต์ JankStats ซึ่งส่งผลต่อการเรียกกลับ OnFrameListener เนื่องจากตอนนี้ระบบจะเรียกใช้ Listener นั้นในเธรดที่ส่งข้อมูลต่อเฟรมไปยัง JankStats (เธรดหลัก/UI ในเวอร์ชันที่ต่ำกว่า API 24 และเธรด FrameMetrics ใน API 24 ขึ้นไป) นอกจากนี้ ตอนนี้ระบบจะนำออบเจ็กต์ FrameData ที่ส่งไปยัง Listener กลับมาใช้ใหม่ทุกเฟรม ดังนั้นจึงต้องคัดลอกและแคชข้อมูลจากออบเจ็กต์นั้นไว้ที่อื่นในระหว่างการเรียกกลับ เนื่องจากควรถือว่าออบเจ็กต์นั้นล้าสมัยทันทีที่ Listener กลับมา

  • นอกจากนี้ยังมีการแก้ไขข้อบกพร่องต่างๆ รวมถึงปัญหาการทำงานพร้อมกันด้วย

  • สุดท้ายนี้ การแก้ไขเพื่อนำ FrameData มาใช้ซ้ำ (ที่กล่าวถึงข้างต้น) หมายความว่าตอนนี้จะไม่มีการจัดสรรต่อเฟรมเนื่องจากการนำส่งเมตริกเฟรม ก่อนหน้านี้มีการจัดสรรไม่มากนัก แต่แนวทางใหม่นี้หมายความว่าคุณสามารถใช้ JankStats โดยไม่ต้องเสียค่าใช้จ่าย GC ต่อเฟรมในแอป

การเปลี่ยนแปลง API

  • อัปเดตชื่อเมธอดและพารามิเตอร์ใน PerformanceMetricsState เพื่อให้ผลลัพธ์ของการเรียกเหล่านั้นชัดเจนยิ่งขึ้น (I56da5, b/233421985)
  • เพิ่มการทดสอบเปรียบเทียบเพื่อติดตามการจัดสรร นำการจัดสรรภายในบางอย่างที่เกี่ยวข้องกับการจัดการสถานะและการรายงานออก โปรดทราบว่าตอนนี้ FrameData ที่ส่งไปยัง Listener ถือว่าไม่เสถียร ระบบจะนำโครงสร้างนั้นกลับมาใช้ซ้ำสำหรับเฟรมถัดไป และข้อมูลจะเชื่อถือได้จนกว่า Listener จะส่งคืน
  • นำ Executor ออกจากตัวสร้างสำหรับ JankStats ตอนนี้ระบบจะเรียกใช้ Listener ในเธรดใดก็ตามที่ได้รับข้อมูลภายใน (I12743)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องเนื่องจากการนำ OnFrameMetricsAvailableListener ออก 2 ครั้ง (I44094, b/239457413)
  • กลับไปใช้ตรรกะเดิมในการโพสต์OnPreDrawListenerข้อความที่ด้านหน้าของคิวเพื่อให้การกำหนดเวลาเฟรมมีความสอดคล้องกันและคาดการณ์ได้มากขึ้น (I05a43, b/233358407)
  • แก้ไขข้อบกพร่อง ConcurrentModificationException ที่มีการแก้ไขรายการผู้มอบสิทธิ์ให้ผู้ฟังในขณะที่ระบบกำลังวนซ้ำเพื่อส่งข้อมูลต่อเฟรม (Ib7693, b/236612357)

เวอร์ชัน 1.0.0-alpha02

29 มิถุนายน 2022

androidx.metrics:metrics-performance:1.0.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เปลี่ยนชื่อ MetricsStateHolder เป็น Holder (ภายใน PerformanceMetricsState): (I5a4d9, b/226565716, b/213499234)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการกำหนดเวลาที่สถานะอาจถูกแทนที่ด้วยค่าใหม่ก่อนที่เฟรมจะได้รับการประมวลผล ซึ่งสถานะเก่าจะถูกต้อง (aosp/2061892, b/213499234)
  • แก้ไขข้อยกเว้นการแก้ไขพร้อมกันในการเพิ่ม/นำผู้ฟังออก (aosp/2092714, b/213499234)
  • ปรับปรุงการคำนวณ startTime ให้แม่นยำยิ่งขึ้น (aosp/2027704, b/213245198)
  • แก้ไขข้อบกพร่องในการติดตั้งใช้งาน FrameData.equals() (aosp/2025866, b/218296544)

เวอร์ชัน 1.0.0-alpha01

9 กุมภาพันธ์ 2022

androidx.metrics:metrics-performance:1.0.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

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