परफ़ॉर्मेंस टेस्टिंग के लिए एनवायरमेंट सेट अप करना

डिवाइस पर की गई गतिविधि को कम समय के लिए रिकॉर्ड करके, संभावित बॉटलनेक की पहचान की जा सकती है. साथ ही, ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. इसके अलावा, ऐप्लिकेशन के स्टार्टअप पीरियड के ट्रेस इकट्ठा करके भी ऐसा किया जा सकता है. इस पेज पर, परफ़ॉर्मेंस टेस्टिंग के लिए एनवायरमेंट सेट अप करने का तरीका बताया गया है.

Macrobenchmark लाइब्रेरी का इस्तेमाल करना

Macrobenchmark library, असली उपयोगकर्ता के बड़े इंटरैक्शन को मेज़र करती है. जैसे, स्टार्टअप, यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करना, और ऐनिमेशन. लाइब्रेरी की मदद से, उस परफ़ॉर्मेंस एनवायरमेंट को सीधे तौर पर कंट्रोल किया जा सकता है जिसकी टेस्टिंग की जा रही है. इससे, ऐप्लिकेशन के स्टार्टअप टाइम को सटीक तरीके से मेज़र करने के लिए, ऐप्लिकेशन को कंपाइल करने, शुरू करने, और बंद करने की सुविधा मिलती है. यह टेस्ट रन के बीच के अंतर और नॉइज़ को कम करने में भी मदद करता है.

परफ़ॉर्मेंस से जुड़ी संभावित समस्याओं का पता लगाने के लिए, मिड-रेंज डिवाइसों का इस्तेमाल करना

हर उस डिवाइस टाइप पर परफ़ॉर्मेंस की जांच करें जो आपके लिए ज़रूरी है. तेज़ कॉम्पोनेंट वाले हाई-एंड डिवाइसों पर, पुराने, धीमे या कम रैम वाले डिवाइसों की परफ़ॉर्मेंस से जुड़ी समस्याएं नहीं दिखती हैं. कम कॉन्फ़िगरेशन वाले डिवाइसों पर डेटा लोड होने या कोड चलने में ज़्यादा समय लग सकता है. इससे परफ़ॉर्मेंस से जुड़ी समस्याओं का पता लगाना आसान हो जाता है. आम तौर पर, कम सुविधाओं वाले डिवाइसों के लिए परफ़ॉर्मेंस को ऑप्टिमाइज़ करने से, ज़्यादा सुविधाओं वाले डिवाइसों के लिए भी परफ़ॉर्मेंस ऑप्टिमाइज़ हो जाती है.

शोर कम करना

  • नेटवर्क: तेज़ और स्थिर इंटरनेट वाई-फ़ाई स्पीड के साथ, अपने ऐप्लिकेशन या प्रोसेस की जांच करें. अगर ऐप्लिकेशन के स्टार्टअप टाइम में नेटवर्क अनुरोध शामिल है, तो इसे ऐसी जगह के तौर पर नोट करें जहां बदलाव हो सकता है.
  • रैम का इस्तेमाल: ऐप्लिकेशन के स्टार्टअप परफ़ॉर्मेंस की जांच करते समय, अपने डिवाइस के बैकग्राउंड में कोई अन्य ऐप्लिकेशन न चलाएं.
  • बैटरी: पक्का करें कि आपका डिवाइस चार्ज हो, ताकि हार्डवेयर से जुड़ी किसी भी समस्या की वजह से, डिवाइस की परफ़ॉर्मेंस कम न हो.

रिलीज़ बिल्ड पर जांच करना

परफ़ॉर्मेंस की जांच करने के लिए, रिलीज़ बिल्ड का इस्तेमाल करें. डीबग बिल्ड, परफ़ॉर्मेंस डीबग करने के लिए सही नहीं होते. ऐसा इसलिए, क्योंकि ये कंपाइलेशन ऑप्टिमाइज़ेशन की सुविधा नहीं देते हैं और परफ़ॉर्मेंस पर काफ़ी असर डालते हैं.

हालांकि, क्लास और ऑपरेशन के नामों की पहचान करने के लिए, बिना अस्पष्ट किए गए रिलीज़ बिल्ड का इस्तेमाल किया जा सकता है. हमारा सुझाव है कि आप proguard फ़ाइल में minify (R8) को चालू करें और -dontobfuscate के साथ ओबफ़स्केशन को बंद करें. अगर बिल्ड को अस्पष्ट नहीं किया गया है, तो लेआउट, ऐसेट, और संसाधनों की पहचान करना आसान होता है.

पक्का करें कि आपने मेनिफ़ेस्ट में profileable फ़्लैग शामिल किया हो, ताकि आपके कस्टम इवेंट, डीबग नहीं की जा सकने वाली बिल्ड में दिखें. यह फ़्लैग, Android 10 (एपीआई लेवल 29) और उसके बाद के वर्शन पर उपलब्ध है.

अपने ऐप्लिकेशन के ऑपरेशनों में कस्टम ट्रेस जोड़ना

अपने ऐप्लिकेशन में कस्टम ट्रेस जोड़ें. इससे यह आसानी से पता लगाया जा सकता है कि अन्य लाइब्रेरी की तुलना में, आपका ऐप्लिकेशन कौनसी कार्रवाइयां करता है. इससे आपको यह समझने में मदद मिलती है कि ऐप्लिकेशन हर समय क्या कर रहा है.