मेट्रिक

  
अपने ऐप्लिकेशन के लिए, अलग-अलग रनटाइम मेट्रिक को ट्रैक और रिपोर्ट करना
नया अपडेट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
12 मार्च, 2025 - - 1.0.0-beta02 -

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

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

अपने ऐप्लिकेशन या मॉड्यूल के लिए, 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

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

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 (I59ce8, b/243694893) पर नया totalDuration भी है

वर्शन 1.0.0-alpha03

27 जुलाई, 2022

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

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

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

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

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

  • PerformanceMetricsState में, कॉल के नतीजों को साफ़ तौर पर दिखाने के लिए, तरीके और पैरामीटर के नाम अपडेट किए गए हैं. (I56da5, b/233421985)
  • ऐलोकेशन को ट्रैक करने के लिए बेंचमार्क टेस्ट जोड़े गए. साथ ही, स्टेटस मैनेजमेंट और रिपोर्टिंग से जुड़े कुछ इंटरनल ऐलोकेशन हटा दिए गए. ध्यान दें कि लिसनर को पास किया गया FrameData अब अस्थिर माना जाता है. अगले फ़्रेम के लिए उस स्ट्रक्चर का फिर से इस्तेमाल किया जाएगा. साथ ही, डेटा तब तक ही भरोसेमंद होता है, जब तक लिसनर वापस नहीं आ जाता.
  • JankStats के लिए, कन्स्ट्रक्टर से Executor को हटा दिया गया है. अब उस थ्रेड पर लिसनर को कॉल किया जाता है जिस पर इंटरनल डेटा मिला था. (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)
  • Listener जोड़ने/हटाने के दौरान, एक साथ कई बदलाव करने से जुड़ी समस्या को ठीक किया गया (aosp/2092714, b/213499234)
  • शुरु होने का समय कैलकुलेट करने की सुविधा को ज़्यादा सटीक बनाया गया (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 में एक एपीआई शामिल होता है, जिसकी मदद से यूज़र इंटरफ़ेस (यूआई) की स्थिति की जानकारी को आसानी से इंजेक्ट किया जा सकता है. साथ ही, हर फ़्रेम की परफ़ॉर्मेंस को ट्रैक और रिपोर्ट किया जा सकता है. इससे डेवलपर यह समझ पाते हैं कि ऐप्लिकेशन की परफ़ॉर्मेंस में समस्याएं कब और क्यों हुईं, न कि यह कि ऐप्लिकेशन की परफ़ॉर्मेंस में समस्याएं हैं या नहीं.