अगर कोई ऐप्लिकेशन धीरे-धीरे जवाब देता है, रुक-रुककर चलने वाले ऐनिमेशन दिखाता है, फ़्रीज़ हो जाता है या बहुत ज़्यादा बैटरी खर्च करता है. परफ़ॉर्मेंस से जुड़ी समस्याओं को ठीक करने के लिए, ऐसे हिस्सों की पहचान की जा सकती है जिनमें जिसके लिए आपका ऐप्लिकेशन संसाधनों का गलत इस्तेमाल करता है. जैसे, सीपीयू, मेमोरी, ग्राफ़िक, नेटवर्क या डिवाइस की बैटरी.
इन समस्याओं का पता लगाने और उन्हें ठीक करने के लिए, बताए गए प्रोफ़ाइलिंग और मानदंड टूल और तकनीकों का इस्तेमाल करें इस विषय के बारे में ज़्यादा जानकारी मिलेगी. परफ़ॉर्मेंस मापने की तकनीकें और इनके इस्तेमाल के उदाहरण जानने के लिए खास समस्याओं को हल करने की तकनीकें, देखने के लिए परफ़ॉर्मेंस.
Android Studio में प्रोफ़ाइल बनाने के कई टूल मौजूद हैं. इनकी मदद से, किसी समस्या का पता लगाकर उसे विज़ुअलाइज़ किया जा सकता है:
- सीपीयू प्रोफ़ाइलर की मदद से, रनटाइम के दौरान परफ़ॉर्मेंस से जुड़ी समस्याओं को ट्रैक किया जा सकता है.
- मेमोरी प्रोफ़ाइलर की मदद से, तय की गई मेमोरी को ट्रैक किया जा सकता है.
- एनर्जी प्रोफ़ाइलर, बिजली के इस्तेमाल को ट्रैक करता है. इससे बैटरी खर्च हो सकती है तेज़ी से खर्च करें.
ये टूल Android 5.0 (एपीआई लेवल 21) और इसके बाद वाले वर्शन पर काम करते हैं. इसके बारे में ज़्यादा जानकारी पाने के लिए, टूल के बारे में जानने के लिए, उपयोगकर्ता गाइड के इस सेक्शन में अन्य पेजों को देखें.
Jetpack बेंचमार्क लाइब्रेरी आपके ऐप्लिकेशन को कई ज़रूरी कार्रवाइयों को मेज़र करने की अनुमति देती हैं:
- मैक्रोबेंचमार्क: ऐप्लिकेशन शुरू होने के साथ-साथ, परफ़ॉर्मेंस के इस्तेमाल के अहम उदाहरणों का आकलन करें साथ ही, यूज़र इंटरफ़ेस (यूआई) के ऐनिमेशन या स्क्रोल करने जैसी कार्रवाइयों से ट्रिगर होने वाला रीड्रॉइंग.
- माइक्रोबेंचमार्क: इससे किसी फ़ंक्शन के लिए सीपीयू की लागत का पता लगाया जाता है.
इन लाइब्रेरी के बारे में अधिक जानने के लिए, मानदंड आपका ऐप्लिकेशन पेज.
प्रोफ़ाइल योग्य ऐप्लिकेशन
Profileable
एक मेनिफ़ेस्ट है
Android Q में कॉन्फ़िगरेशन की सुविधा शुरू की गई. वह तय कर सकता है कि उपयोगकर्ता
डिवाइस के 'Android स्टूडियो', Simpleperf, और अन्य
परफ़ेटो.
profileable
से पहले, ज़्यादातर डेवलपर सिर्फ़ प्रोफ़ाइल बना सकते थे
Android पर, डीबग करने लायक ऐप्लिकेशन. इन ऐप्लिकेशन की परफ़ॉर्मेंस में काफ़ी लागत आई
कम असर पड़ता है. परफ़ॉर्मेंस की इस लागत की वजह से, आपकी प्रोफ़ाइल बनाने के नतीजे गलत हो सकते हैं. खास तौर पर, ऐसा तब होता है, जब वे
समय से संबंधित थे. पहली टेबल में, डीबग करने और प्रोफ़ाइल बनाने की सुविधा के बीच के अंतर के बारे में खास जानकारी दी गई है
दिखाई देता है.
सुविधा | डीबग करने लायक | प्रोफ़ाइल योग्य |
---|---|---|
मेमोरी प्रोफ़ाइलर | बैटरी चार्ज हो गई |
हां: नहीं:
|
सीपीयू प्रोफ़ाइलर | बैटरी चार्ज हो गई |
हां:
नहीं:
|
नेटवर्क प्रोफ़ाइलर | हां | नहीं |
एनर्जी प्रोफ़ाइलर | हां | नहीं |
पावर प्रोफ़ाइलर | हां | हां |
इवेंट मॉनिटर | हां | नहीं |
Profileable
को लॉन्च किया गया है, ताकि डेवलपर यह चुन सकें कि उनके ऐप्लिकेशन को सार्वजनिक तौर पर
इसमें प्रोफ़ाइलिंग टूल की जानकारी शामिल होती है. साथ ही, कम परफ़ॉर्मेंस की लागत भी आती है. प्रोफ़ाइल करने लायक APK
ज़रूरी है कि यह एक रिलीज़ APK हो, जिसकी लाइन <profileable android:shell="true"/>
मेनिफ़ेस्ट फ़ाइल के <application>
सेक्शन में जोड़ा गया है.
प्रोफ़ाइल किए जा सकने वाले ऐप्लिकेशन को अपने-आप बनाएं और चलाएं
सिर्फ़ एक क्लिक में, प्रोफ़ाइल वाला ऐप्लिकेशन कॉन्फ़िगर किया जा सकता है. साथ ही, उसे बनाया और चलाया भी जा सकता है. इस सुविधा के लिए ज़रूरी है
वर्चुअल या फ़िज़िकल टेस्ट डिवाइस, जो एपीआई लेवल 29 या उसके बाद के वर्शन पर चलता हो और जिसमें Google Play मौजूद हो. टूल का इस्तेमाल करने के लिए
सुविधा के लिए, प्रोफ़ाइल ऐप्लिकेशन आइकॉन के बगल में मौजूद ऐरो पर क्लिक करें
और दो विकल्पों में से चुनें:
![एक-क्लिक में प्रोफ़ाइल बनाने लायक बिल्ड मेन्यू.](https://developer.android.com/static/studio/images/one-click-profileable-build-menu.png?authuser=9&hl=hi)
प्रोफ़ाइल 'ऐप्लिकेशन' डिवाइस की मेमोरी कम होने पर, सीपीयू और मेमोरी को चालू किया जाता है प्रोफ़ाइलर. मेमोरी प्रोफ़ाइलर में, सिर्फ़ नेटिव ऐलोकेशन रिकॉर्ड करें चालू है.
प्रोफ़ाइल 'ऐप्लिकेशन' पूरे डेटा के साथ सीपीयू, मेमोरी, और एनर्जी प्रोफ़ाइलर.
प्रोफ़ाइल किए जा सकने वाले ऐप्लिकेशन को मैन्युअल तरीके से बनाएं और चलाएं
प्रोफ़ाइल योग्य ऐप्लिकेशन को मैन्युअल रूप से बनाने के लिए, आपको पहले एक रिलीज़ ऐप्लिकेशन बनाना होगा और तो अपनी मेनिफ़ेस्ट फ़ाइल को अपडेट करें, जिससे रिलीज़ ऐप्लिकेशन, प्रोफ़ाइल किए जा सकने वाले ऐप्लिकेशन में बदल जाएगा. प्रोफ़ाइल करने लायक ऐप्लिकेशन कॉन्फ़िगर करने के बाद, प्रोफ़ाइलर लॉन्च करें और प्रोफ़ाइल वाला कोई ऐसा ऐप्लिकेशन चुनें काफ़ी कुछ किया जा सकता है.
कोई रिलीज़ ऐप्लिकेशन बनाएं
प्रोफ़ाइल बनाने के मकसद से रिलीज़ ऐप्लिकेशन बनाने के लिए, यह तरीका अपनाएं:
-
अपने ऐप्लिकेशन के ऐप्लिकेशन में निम्न पंक्तियां जोड़कर डीबग कुंजी से अपने ऐप्लिकेशन पर हस्ताक्षर करें
build.gradle
फ़ाइल. अगर आपके पास पहले से ही काम करने वाला रिलीज़ बिल्ड वैरिएंट मौजूद है, तो अगले चरण पर जाएं.buildTypes { release { signingConfig signingConfigs.debug } }
-
Android Studio में, बिल्ड > चुनें बिल्ड वैरिएंट चुनें... और रिलीज़ का वैरिएंट.
रिलीज़ को प्रोफ़ाइल की सुविधा वाले मोड में बदलें
-
AndroidManifest.xml
फ़ाइल डाउनलोड करें और इसमें ये चीज़ें जोड़ें<application>
. ज़्यादा जानकारी के लिए, यह देखें रिलीज़ के लिए अपना ऐप्लिकेशन बनाना.<profileable android:shell="true"/>
-
SDK टूल के वर्शन के आधार पर, आपको ऐप्लिकेशन के
build.gradle
फ़ाइल.aaptOptions { additionalParameters =["--warn-manifest-validation"] }
प्रोफ़ाइल किए जा सकने वाले ऐप्लिकेशन की प्रोफ़ाइल बनाएं
प्रोफ़ाइल किए जा सकने वाले ऐप्लिकेशन की प्रोफ़ाइल बनाने के लिए, ये काम करें:
-
डेवलपमेंट एम्युलेटर या डिवाइस से ऐप्लिकेशन शुरू करें.
-
Android Studio में, देखें > को चुनकर प्रोफ़ाइलर को लॉन्च करें टूल विंडो > प्रोफ़ाइलर.
-
ऐप्लिकेशन लॉन्च होने के बाद,
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है बटन क्लिक करें. अपना डिवाइस चुनें. इसके बाद, के अंतर्गत अन्य प्रोफ़ाइल योग्य प्रक्रिया के अंतर्गत आवेदन की
-
प्रोफ़ाइलर को ऐप्लिकेशन से अटैच करना चाहिए. सिर्फ़ सीपीयू और मेमोरी प्रोफ़ाइलर उपलब्ध हैं, मेमोरी प्रोफ़ाइलर के लिए सीमित क्षमता का इस्तेमाल किया जा सकता है.
सेशन
प्रोफ़ाइलर डेटा को सेशन के तौर पर सेव किया जा सकता है. इसे तब तक सेव रखा जाता है, जब तक आप Android Studio को बंद करें. कई सेशन में प्रोफ़ाइलिंग से जुड़ी जानकारी रिकॉर्ड करके और स्विच करते समय, अलग-अलग स्थितियों में संसाधन के इस्तेमाल की तुलना की जा सकती है.
- नया सेशन शुरू करने के लिए, प्रोफ़ाइल बनाने का नया सेशन शुरू करें पर क्लिक करें
बटन और ड्रॉपडाउन मेन्यू से ऐप्लिकेशन की प्रोसेस चुनें.
- आसानी से अपने कैलेंडर में जोड़ें. ट्रेस रिकॉर्ड करो या कैप्चर हीप डंप का इस्तेमाल करते हैं, तो Android Studio उस डेटा (आपके ऐप्लिकेशन के नेटवर्क के साथ) को जोड़ता है ऐक्टिविटी) को मौजूदा सेशन की अलग एंट्री के तौर पर देखें.
- मौजूदा सेशन में डेटा जोड़ना बंद करने के लिए, मौजूदा सेशन को रोकें
प्रोफ़ाइलिंग सेशन
.
- Android Studio के पिछले वर्शन में एक्सपोर्ट किए गए ट्रेस को इंपोर्ट करने के लिए, क्लिक करें
प्रोफ़ाइलर के लिए नया सेशन शुरू करना
और फ़ाइल से लोड करें चुनें.
पुराने डिवाइसों के लिए अतिरिक्त सहायता चालू करें (एपीआई लेवल < 26)
Android 7.1 या इससे पहले के वर्शन वाले डिवाइस का इस्तेमाल करते समय, आपको प्रोफ़ाइल से जुड़ा अतिरिक्त डेटा दिखाने के लिए, Android Studio को, आपके इकट्ठा किए गए ऐप्लिकेशन में मॉनिटरिंग लॉजिक इंजेक्ट करना होगा. इन अतिरिक्त प्रोफ़ाइलिंग डेटा में निम्न:
- सभी प्रोफ़ाइलर विंडो पर इवेंट की टाइमलाइन
- मेमोरी प्रोफ़ाइलर में असाइन किए गए ऑब्जेक्ट की संख्या
- मेमोरी प्रोफ़ाइलर में कचरा इकट्ठा करने के इवेंट
- नेटवर्क प्रोफ़ाइलर में, ट्रांसमिट की जाने वाली सभी फ़ाइलों के बारे में जानकारी
पुराने डिवाइसों के लिए ज़्यादा मदद पाने के लिए, यह तरीका अपनाएं:
- Run > कॉन्फ़िगरेशन में बदलाव करना.
- बाएं पैनल में अपना ऐप्लिकेशन मॉड्यूल चुनें.
- प्रोफ़ाइलिंग टैब पर क्लिक करें और फिर इसके लिए अतिरिक्त सहायता चालू करें पुराने डिवाइस (एपीआई लेवल < 26).
- अपना ऐप्लिकेशन फिर से बनाएं और चलाएं.
पुराने डिवाइसों के लिए अतिरिक्त सहायता देने से बिल्ड प्रोसेस पूरी हो जाती है धीमा हो, इसलिए आपको इसे सिर्फ़ तब चालू करना चाहिए, जब आपको अपने ऐप्लिकेशन की प्रोफ़ाइल बनाना शुरू करना हो.
स्टैंडअलोन प्रोफ़ाइलर चलाएं
स्टैंडअलोन Android Studio प्रोफ़ाइलर की मदद से, पूरे Android डिवाइस का इस्तेमाल किए बिना ऐप्लिकेशन को प्रोफ़ाइल बनाया जा सकता है स्टूडियो आईडीई.
स्टैंडअलोन प्रोफ़ाइलर चलाने के लिए, निम्न करें:
- पक्का करें कि प्रोफ़ाइलर फ़िलहाल Android Studio में नहीं चल रहा हो.
इंस्टॉलेशन डायरेक्ट्री पर जाएं और
bin
डायरेक्ट्री पर जाएं:Windows/Linux:
studio-installation-folder/bin
macOS: macOS पर स्टैंडअलोन प्रोफ़ाइलर का इस्तेमाल नहीं किया जा सकता.
- अपने ओएस के हिसाब से,
profiler.exe
याprofiler.sh
चलाएं. Android इसके बाद, Studio की स्प्लैश स्क्रीन दिखेगी. स्प्लैश स्क्रीन गायब होने के बाद, प्रोफ़ाइलर विंडो खुलती है.