เมตริก
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
---|---|---|---|---|
10 กันยายน 2025 | - | - | 1.0.0-beta04 | - |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน Metrics คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับ
แอปหรือโมดูล
ดึงดูด
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta04" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta04") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยเราปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.0.0
เวอร์ชัน 1.0.0-beta04
10 กันยายน 2025
androidx.metrics:metrics-performance:1.0.0-beta04
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-beta04 มีการเปลี่ยนแปลงเหล่านี้
การมีส่วนร่วมภายนอก
- แก้ไข
IndexOutOfBoundsException
ในJankStats
(I113e5,b/253576508)
เวอร์ชัน 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 ได้ง่ายด้วยความสามารถในการติดตามและรายงานประสิทธิภาพต่อเฟรม เพื่อให้นักพัฒนาแอปเข้าใจได้ว่าแอปพลิเคชันมีปัญหาด้านประสิทธิภาพหรือไม่ รวมถึงเวลาและสาเหตุที่เกิดปัญหา