เมตริก
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
12 มีนาคม 2025 | - | - | 1.0.0-beta02 | - |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ของเมตริก คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
ดึงดูด
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta02") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.0.0
เวอร์ชัน 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()
สำหรับการสร้างออบเจ็กต์JankStats
ซึ่งส่งผลต่อการเรียกกลับOnFrameListener
เนื่องจากตอนนี้ระบบจะเรียกใช้ตัวฟังในเธรดซึ่งส่งข้อมูลต่อเฟรมไปยังJankStats
(เธรดหลัก/UI ในเวอร์ชันที่เก่ากว่า API 24 และเธรดFrameMetrics
ใน API 24 ขึ้นไป) นอกจากนี้ ระบบจะใช้ออบเจ็กต์FrameData
ที่ส่งไปยังตัวฟังซ้ำทุกเฟรม ดังนั้นจึงต้องคัดลอกและแคชข้อมูลจากออบเจ็กต์นั้นไว้ที่อื่นในระหว่างการเรียกกลับ เนื่องจากควรถือว่าออบเจ็กต์นั้นล้าสมัยทันทีที่ตัวฟังแสดงผลรวมถึงได้แก้ไขข้อบกพร่องหลายรายการ รวมถึงปัญหาเกี่ยวกับการทำงานพร้อมกันบางประการ
สุดท้าย การแก้ไขเพื่อนำ
FrameData
มาใช้ซ้ำ (ที่กล่าวถึงข้างต้น) หมายความว่าตอนนี้ไม่มีการกําหนดค่าต่อเฟรมเนื่องจากการนําส่งเมตริกเฟรม ก่อนหน้านี้การจองมีไม่มากนัก แต่แนวทางใหม่นี้หมายความว่าคุณจะใช้JankStats
ได้โดยไม่ต้องเสียค่าใช้จ่ายเพิ่มเติมสำหรับ GC ต่อเฟรมในแอป
การเปลี่ยนแปลง API
- อัปเดตชื่อเมธอดและพารามิเตอร์ใน
PerformanceMetricsState
เพื่อให้ผลลัพธ์ของการเรียกเหล่านั้นชัดเจนขึ้น (I56da5, b/233421985) - เพิ่มการทดสอบการเปรียบเทียบเพื่อติดตามการจัดสรร ลบการจัดสรรภายในบางส่วนที่เกี่ยวข้องกับการจัดการสถานะและการรายงาน โปรดทราบว่าตอนนี้ระบบจะถือว่า
FrameData
ที่ส่งไปยัง Listener เป็นตัวแปรที่ไม่คงที่ ระบบจะใช้โครงสร้างนั้นซ้ำในเฟรมถัดไป และข้อมูลจะเชื่อถือได้จนกว่า Listener จะกลับมา - นํา Executor ออกจากตัวสร้างของ
JankStats
ตอนนี้ระบบจะเรียกใช้ตัวฟังในเธรดใดก็ตามที่ได้รับข้อมูลภายใน (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
เป็น "ผู้ถือครอง" เท่านั้น (ภายใน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 ได้อย่างง่ายดายเข้ากับความสามารถในการติดตามและรายงานประสิทธิภาพต่อเฟรม เพื่อให้นักพัฒนาแอปเข้าใจว่าแอปพลิเคชันมีปัญหาด้านประสิทธิภาพเมื่อใดและสาเหตุใด