เมตริก

  
ติดตามและรายงานเมตริกรันไทม์ต่างๆ สําหรับแอปพลิเคชัน
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
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 ได้อย่างง่ายดายเข้ากับความสามารถในการติดตามและรายงานประสิทธิภาพต่อเฟรม เพื่อให้นักพัฒนาแอปเข้าใจว่าแอปพลิเคชันมีปัญหาด้านประสิทธิภาพเมื่อใดและสาเหตุใด