मेट्रिक

  
अपने ऐप्लिकेशन के लिए, रनटाइम की अलग-अलग मेट्रिक को ट्रैक और रिपोर्ट करना
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
10 सितंबर, 2025 - - 1.0.0-beta04 -

डिपेंडेंसी का एलान करना

Metrics पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

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

Kotlin

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

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

वर्शन 1.0.0

वर्शन 1.0.0-beta04

10 सितंबर, 2025

androidx.metrics:metrics-performance:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये बदलाव शामिल हैं.

बाहरी योगदान

  • JankStats में IndexOutOfBoundsException को ठीक किया गया (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

इस लाइब्रेरी का एपीआई और इसकी सुविधाएं कुछ समय से स्थिर हैं. इस रिलीज़ में, लाइब्रेरी को बीटा वर्शन में पुश किया गया है.

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 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • cpuDuration अब ज़्यादा सटीक है. साथ ही, API31 पर नया totalDuration (I59ce8, b/243694893)

वर्शन 1.0.0-alpha03

27 जुलाई, 2022

androidx.metrics:metrics-performance:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.

  • इस रिलीज़ में, एपीआई में कुछ सुधार किए गए हैं, क्योंकि लाइब्रेरी बीटा वर्शन के करीब पहुंच गई है. एपीआई में हुए बदलावों में से एक बदलाव यह है कि createAndTrack() ऑब्जेक्ट बनाने के लिए, createAndTrack() फ़ैक्ट्री मेथड से एक्ज़ीक्यूटर को हटा दिया गया है.JankStats इसका असर OnFrameListener कॉलबैक पर पड़ता है, क्योंकि अब लिसनर को उस थ्रेड पर कॉल किया जाता है जो JankStats को हर फ़्रेम का डेटा डिलीवर करती है. यह थ्रेड, API 24 से पहले के वर्शन पर Main/UI थ्रेड होती है और API 24 या इसके बाद के वर्शन पर FrameMetrics थ्रेड होती है. इसके अलावा, लिसनर को पास किया गया FrameData ऑब्जेक्ट अब हर फ़्रेम के लिए फिर से इस्तेमाल किया जाता है. इसलिए, कॉलबैक के दौरान उस ऑब्जेक्ट से डेटा को कॉपी करके किसी दूसरी जगह पर कैश मेमोरी में सेव किया जाना चाहिए. ऐसा इसलिए, क्योंकि लिसनर के वापस आने के तुरंत बाद उस ऑब्जेक्ट को पुराना मान लिया जाना चाहिए.

  • इसके अलावा, कई गड़बड़ियां भी ठीक की गई हैं. इनमें एक साथ कई अनुरोध मिलने से जुड़ी कुछ समस्याएं भी शामिल हैं.

  • आखिर में, FrameData (ऊपर बताया गया) को फिर से इस्तेमाल करने की सुविधा का मतलब है कि फ़्रेम मेट्रिक डिलीवरी की वजह से, अब हर फ़्रेम के लिए कोई भी आवंटन नहीं है. पहले, बहुत कम मेमोरी असाइन की जाती थी. हालांकि, नए तरीके से JankStats का इस्तेमाल करने पर, आपके ऐप्लिकेशन में हर फ़्रेम के हिसाब से जीसी ओवरहेड नहीं लगेगा.

एपीआई में हुए बदलाव

  • PerformanceMetricsState में अपडेट किए गए तरीके और पैरामीटर के नाम, ताकि उन कॉल के नतीजे ज़्यादा साफ़ तौर पर दिखें. (I56da5, b/233421985)
  • बंटवारे को ट्रैक करने के लिए, बेंचमार्क टेस्ट जोड़े गए. साथ ही, राज्य के मैनेजमेंट और रिपोर्टिंग से जुड़े कुछ इंटरनल बंटवारे हटा दिए गए. ध्यान दें कि लिसनर को पास किया गया FrameData अब अस्थिर माना जाता है. इस स्ट्रक्चर का इस्तेमाल अगले फ़्रेम के लिए फिर से किया जाएगा. साथ ही, डेटा सिर्फ़ तब तक भरोसेमंद होता है, जब तक लिसनर वापस नहीं आ जाता.
  • JankStats के कंस्ट्रक्टर से एक्ज़ीक्यूटर को हटा दिया गया है; अब लिसनर को उस थ्रेड पर कॉल किया जाता है जिस पर इंटरनल डेटा मिला था. (I12743)

गड़बड़ियां ठीक की गईं

  • OnFrameMetricsAvailableListener को दो बार हटाने की वजह से होने वाली क्रैश की समस्या को ठीक किया गया (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 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • 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 में एक ऐसा एपीआई शामिल है जो यूज़र इंटरफ़ेस (यूआई) की स्थिति के बारे में जानकारी को आसानी से इंजेक्ट करता है. साथ ही, इसमें हर फ़्रेम की परफ़ॉर्मेंस को ट्रैक करने और रिपोर्ट करने की सुविधाएं भी शामिल हैं. इससे डेवलपर को यह समझने में मदद मिलती है कि किसी ऐप्लिकेशन में परफ़ॉर्मेंस से जुड़ी समस्याएं हैं या नहीं. साथ ही, यह भी पता चलता है कि ये समस्याएं कब और क्यों हुईं.