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