मेट्रिक
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
27 अगस्त, 2025 | - | - | 1.0.0-beta03 | - |
डिपेंडेंसी का एलान करना
Metrics पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google का मेवन डेटाबेस पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta03" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta03") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. कृपया नई लाइब्रेरी बनाने से पहले, इस लाइब्रेरी में मौजूद मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.0.0
वर्शन 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()
फ़ैक्ट्री मेथड से Executor को हटा दिया गया है.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
में एक ऐसा एपीआई शामिल है जो यूज़र इंटरफ़ेस (यूआई) की स्थिति के बारे में जानकारी को आसानी से इंजेक्ट करता है. साथ ही, इसमें हर फ़्रेम की परफ़ॉर्मेंस को ट्रैक करने और रिपोर्ट करने की सुविधाएं भी शामिल हैं. इससे डेवलपर को यह समझने में मदद मिलती है कि किसी ऐप्लिकेशन में परफ़ॉर्मेंस से जुड़ी समस्याएं हैं या नहीं. साथ ही, यह भी पता चलता है कि ये समस्याएं कब और क्यों हुईं.