मानदंडों के हिसाब से तुलना करने की सुविधा की मदद से, अपने ऐप्लिकेशन की परफ़ॉर्मेंस की जांच की जा सकती है और उस पर नज़र रखी जा सकती है. परफ़ॉर्मेंस से जुड़ी समस्याओं का विश्लेषण करने और उन्हें ठीक करने के लिए, नियमित तौर पर मानदंड लागू किए जा सकते हैं. इससे यह पक्का करने में मदद मिलती है कि हाल ही में किए गए बदलावों से, परफ़ॉर्मेंस में गिरावट न आए.
Android, आपके ऐप्लिकेशन में अलग-अलग तरह की स्थितियों का विश्लेषण और टेस्टिंग करने के लिए, दो बेंचमार्किंग लाइब्रेरी और तरीके उपलब्ध कराता है: मैक्रोबेंचमार्क और माइक्रोबेंचमार्क.
मैक्रोबेंचमार्क
Macrobenchmark लाइब्रेरी, असली उपयोगकर्ता के बड़े इंटरैक्शन को मेज़र करती है. जैसे, स्टार्टअप, यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करना, और ऐनिमेशन. इस लाइब्रेरी की मदद से, उस परफ़ॉर्मेंस एनवायरमेंट को सीधे तौर पर कंट्रोल किया जा सकता है जिसकी टेस्टिंग की जा रही है. इससे आपको कंपाइल करने की सुविधा को कंट्रोल करने में मदद मिलती है. साथ ही, इससे आपको अपने ऐप्लिकेशन को शुरू और बंद करने की सुविधा मिलती है, ताकि ऐप्लिकेशन के चालू होने या स्क्रोल करने की सुविधा को सीधे तौर पर मेज़र किया जा सके.
Macrobenchmark लाइब्रेरी, इवेंट इंजेक्ट करती है और नतीजों को बाहरी तौर पर मॉनिटर करती है. यह लाइब्रेरी, आपके टेस्ट के साथ बनाए गए टेस्ट ऐप्लिकेशन से काम करती है. इसलिए, बेंचमार्क लिखते समय, अपने ऐप्लिकेशन कोड को सीधे तौर पर कॉल न करें. इसके बजाय, उपयोगकर्ता के तौर पर अपने ऐप्लिकेशन में नेविगेट करें.
माइक्रोबेंचमार्क
माइक्रोबेंचमार्क लाइब्रेरी की मदद से, ऐप्लिकेशन के कोड को सीधे तौर पर लूप में बेंचमार्क किया जा सकता है. इसे सीपीयू के काम को मेज़र करने के लिए डिज़ाइन किया गया है. यह सबसे अच्छी परफ़ॉर्मेंस का आकलन करता है. जैसे, वार्म अप किया गया जस्ट इन टाइम (JIT) और डिस्क ऐक्सेस कैश मेमोरी में सेव किया गया. यह आपको इनर-लूप या किसी खास हॉट फ़ंक्शन के साथ दिख सकता है. लाइब्रेरी सिर्फ़ उस कोड को मेज़र कर सकती है जिसे सीधे तौर पर कॉल किया जा सकता है.
अगर आपके ऐप्लिकेशन को किसी जटिल डेटा स्ट्रक्चर को प्रोसेस करने की ज़रूरत है या उसमें कोई ऐसा खास एल्गोरिदम है जिसे ऐप्लिकेशन के चलने के दौरान कई बार कॉल किया जाता है, तो बेंचमार्किंग के लिए ये अच्छे उदाहरण हो सकते हैं. अपने यूज़र इंटरफ़ेस (यूआई) के कुछ हिस्सों को भी मापा जा सकता है. उदाहरण के लिए, RecyclerView आइटम बाइंडिंग की लागत का आकलन किया जा सकता है. इसके अलावा, लेआउट को बड़ा होने में कितना समय लगता है या परफ़ॉर्मेंस के हिसाब से, आपकी View क्लास का लेआउट और मेज़रमेंट पास कितना मुश्किल है, इसका आकलन किया जा सकता है.
हालांकि, यह मेज़र नहीं किया जा सकता कि बेंचमार्क किए गए मामले, उपयोगकर्ता के अनुभव को बेहतर बनाने में किस तरह मदद करते हैं. कुछ मामलों में, बेंचमार्किंग से यह पता नहीं चलता कि आप जंक या ऐप्लिकेशन के स्टार्टअप टाइम जैसी समस्या को ठीक कर रहे हैं या नहीं. इसलिए, Android Profiler की मदद से, सबसे पहले उन समस्याओं का पता लगाना ज़रूरी है. जिस कोड की जांच और ऑप्टिमाइज़ेशन करना है उसे ढूंढने के बाद, बेंचमार्क किए गए लूप को बार-बार आसानी से चलाया जा सकता है. इससे कम नॉइज़ वाले नतीजे मिलते हैं. इससे आपको सुधार के किसी एक पहलू पर फ़ोकस करने में मदद मिलती है.
माइक्रोबेंचमार्क लाइब्रेरी, सिर्फ़ आपके ऐप्लिकेशन के बारे में जानकारी देती है. यह पूरे सिस्टम के बारे में जानकारी नहीं देती. इसलिए, यह ऐप्लिकेशन से जुड़ी स्थितियों की परफ़ॉर्मेंस का विश्लेषण करने के लिए सबसे अच्छा है. यह उन स्थितियों की परफ़ॉर्मेंस का विश्लेषण नहीं कर सकता जो सिस्टम की सामान्य समस्याओं से जुड़ी हो सकती हैं.
मानदंड की लाइब्रेरी की तुलना
| मैक्रोबेंचमार्क | माइक्रोबेंचमार्क | |
|---|---|---|
| API वर्शन | 23 और उसके बाद के वर्शन | 14 और उसके बाद के वर्शन |
| फ़ंक्शन | हाई-लेवल के एंट्री पॉइंट या इंटरैक्शन को मेज़र करें. जैसे, गतिविधि लॉन्च करना या किसी सूची को स्क्रोल करना. | अलग-अलग फ़ंक्शन मेज़र करें. |
| दायरा | पूरी ऐप्लिकेशन की आउट-ऑफ़-प्रोसेस जांच. | सीपीयू के काम की जांच की जा रही है. |
| स्पीड | विज्ञापन के अलग-अलग वर्शन बनाने की स्पीड सामान्य होती है. यह एक मिनट से ज़्यादा की हो सकती है. | तेज़ी से बदलाव करने की सुविधा. आम तौर पर, 10 सेकंड से भी कम समय लगता है. |
| ट्रेसिंग | नतीजों में प्रोफ़ाइलिंग के निशान शामिल होते हैं. | सैंपल इकट्ठा करने और ट्रेस करने का वैकल्पिक तरीका. |
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक टेक्स्ट दिखता है
- बेसलाइन प्रोफ़ाइलें बनाना {:#creating-profile-rules}
- JankStats लाइब्रेरी
- ऐप्लिकेशन की परफ़ॉर्मेंस को मेज़र करने के बारे में खास जानकारी