अगर कोई ऐप्लिकेशन धीरे-धीरे जवाब देता है, तो उसका परफ़ॉर्मेंस खराब होता है. साथ ही, वह रुक-रुककर चलने वाले ऐनिमेशन दिखाता है, फ़्रीज़ हो जाता है या बहुत ज़्यादा बैटरी खर्च करता है. परफ़ॉर्मेंस से जुड़ी समस्याओं को ठीक करने में अपने ऐप्लिकेशन की प्रोफ़ाइल बनाना या उन जगहों की पहचान करना जहां आपके ऐप्लिकेशन की परफ़ॉर्मेंस अच्छी नहीं है सीपीयू, मेमोरी, ग्राफ़िक्स, नेटवर्क या डिवाइस जैसे संसाधनों का इस्तेमाल करना बैटरी. इस विषय में, Android Studio के उन टूल और तकनीकों के बारे में बताया गया है जिनका इस्तेमाल परफ़ॉर्मेंस से जुड़ी सामान्य समस्याएं ठीक करने के लिए.
पूरे Android Studio IDE (सिर्फ़ Windows या Linux) को चलाए बिना, स्टैंडअलोन प्रोफ़ाइलर चलाने का तरीका जानने के लिए, स्टैंडअलोन प्रोफ़ाइलर चलाना लेख पढ़ें.
ज़रूरी शर्तें
ऐप्लिकेशन की प्रोफ़ाइल बनाने के लिए, हमारा सुझाव है कि आप:
रिलीज़ बिल्ड वैरिएंट वाला ऐसा ऐप्लिकेशन जिसमें
profileable
मेनिफ़ेस्ट हो कॉन्फ़िगरेशन चालू है, इसे प्रोफ़ाइल किए जा सकने वाले ऐप्लिकेशन भी कहा जाता है. डिफ़ॉल्ट रूप से, ऐप्लिकेशन में यह कॉन्फ़िगरेशन सही पर सेट है. इस कॉन्फ़िगरेशन की जांच करने या इसमें बदलाव करने के लिए, खोलें की मेनिफ़ेस्ट याAndroidManifest.xml
फ़ाइल डाउनलोड करें और<application>
सेक्शनprofileable
मेनिफ़ेस्ट कॉन्फ़िगरेशन:<profileable android:shell="true" />
वर्चुअल या फ़िज़िकल टेस्ट डिवाइस, जो एपीआई लेवल 29 या उसके बाद के वर्शन पर चलता हो और जिसमें Google Play से डाउनलोड करें.
Android Gradle प्लग इन 7.3 या इसके बाद वाला वर्शन.
प्रोफ़ाइल और डीबग किए जा सकने वाले ऐप्लिकेशन
प्रोफ़ाइल किए जा सकने वाले ऐप्लिकेशन से, सामान्य प्रोफ़ाइलिंग वाले टास्क किए जा सकते हैं. हालांकि, आपको इसके लिए अगर आपको Java/Kotlin की रिकॉर्डिंग करनी है, तो debuggable ऐप्लिकेशन का इस्तेमाल करें ऐलोकेशन या हीप डंप कैप्चर करने की सुविधा. डीबग करने लायक ऐप्लिकेशन प्रोसेस और डिवाइस पर चलने वाला एपीआई लेवल 26 या उसके बाद के लेवल पर, इंटरैक्शन की टाइमलाइन भी देखी जा सकती है, उपयोगकर्ता के इंटरैक्शन और ऐप्लिकेशन के लाइफ़साइकल इवेंट को, टास्क व्यू में दिखाता है.
डीबग किया जा सकने वाला ऐप्लिकेशन, आपके ऐप्लिकेशन के debug
बिल्ड वैरिएंट के हिसाब से होता है. इससे आपको
डीबगर जैसे डेवलपमेंट टूल का इस्तेमाल करें; हालांकि, यह समझना ज़रूरी है कि
और कम खर्च में कर सकते हैं. प्रोफ़ाइल किया जा सकने वाला ऐप्लिकेशन, आपके ऐप्लिकेशन के release
बिल्ड वैरिएंट पर आधारित होता है. साथ ही, यह डीबग बिल्ड की परफ़ॉर्मेंस पर असर डाले बिना, प्रोफ़ाइलिंग के सामान्य टास्क के सबसेट को चालू करता है.
प्रोफ़ाइल बनाने की सुविधा वाला ऐप्लिकेशन बनाना और चलाना
Android Studio में प्रोफ़ाइल किए जा सकने वाले ऐप्लिकेशन बनाने और चलाने के लिए, यह तरीका अपनाएं:
- रन/डीबग कॉन्फ़िगरेशन बनाने के लिए, अगर नहीं है.
- रिलीज़ बिल्ड का वैरिएंट चुनें (बिल्ड > बिल्ड वैरिएंट चुनें).
- ज़्यादा कार्रवाइयां पर क्लिक करें > प्रोफ़ाइल 'ऐप्लिकेशन' कम खर्च के साथ या प्रोफ़ाइल 'ऐप्लिकेशन' पूरे डेटा के साथ ("ऐप्लिकेशन" रन कॉन्फ़िगरेशन का नाम है, इसलिए यह आप). इन दो विकल्पों में से चुनने के लिए, ज़रूरी शर्तें देखें. ऐप्लिकेशन आपके टेस्ट डिवाइस पर खुलेगा और Android में प्रोफ़ाइलर पैनल खुलेगा स्टूडियो.
अगर इन निर्देशों से मदद नहीं मिलती, तो प्रोफ़ाइल करने लायक ऐप्लिकेशन बनाना और उसे चलाना देखें मैन्युअल तरीके से.
प्रोफ़ाइल बनाना शुरू करें
प्रोफ़ाइल बनाने का टास्क शुरू करने के लिए, यह तरीका अपनाएं:
प्रोफ़ाइलर में होम टैब में दी गई सूची में से कोई प्रोसेस चुनें पैनल. ज़्यादातर मामलों में, आपको आपका ऐप्लिकेशन.
Tasks सेक्शन से, प्रोफ़ाइल बनाने का कोई टास्क चुनें. इस बारे में ज़्यादा जानने के लिए, इस सेक्शन में अन्य पेजों को देखें. प्रोफ़ाइल बनाने के सभी टास्क हर प्रोसेस के लिए उपलब्ध है. अगर आपको नहीं पता कि शुरुआत कहां से की जाए, तो इसके हिसाब से परफ़ॉर्मेंस गतिविधि देखें ऐप्लिकेशन के लाइव होने की जांच करना.
इसकी मदद से प्रोफ़ाइलर टास्क शुरू करें ड्रॉप-डाउन का इस्तेमाल करके, यह चुनें कि टास्क को प्रोफ़ाइलर टास्क को शुरू करने से रोका जा सकता है. इसके अलावा, प्रोसेस के दौरान उसे अटैच किया जा सकता है. अगर आप: ऐप्लिकेशन के शुरू होने में लगने वाले समय को बेहतर बनाने या ऐसी प्रोसेस को कैप्चर करने की कोशिश की जा रही है जो ऐप्लिकेशन स्टार्टअप के दौरान, आपको स्टार्टअप को शामिल करना चाहिए; अगर आपको ऐसा नहीं करना है, तो अपने ऐप्लिकेशन की मौजूदा स्थिति के हिसाब से प्रोफ़ाइल बनाना.
प्रोफ़ाइलर टास्क शुरू करें पर क्लिक करें. टास्क अपने टैब में शुरू होता है.
अपने ऐप्लिकेशन के साथ इंटरैक्ट करें, ताकि गतिविधियां ट्रिगर हों.
रिकॉर्डिंग बंद करें (अगर लागू हो), उसके पार्स होने का इंतज़ार करें, और नतीजे देखें.
ट्रेस की तुलना करना, उसे एक्सपोर्ट करना, और इंपोर्ट करना
जब प्रोफ़ाइल बनाने के किसी टास्क को बंद किया जाता है, तो वह पिछले टास्क में अपने-आप सेव हो जाता है प्रोफ़ाइल पैनल में मौजूद रिकॉर्डिंग टैब. सेव किए हुए इन कार्ड का इस्तेमाल किया जा सकता है रिकॉर्डिंग का इस्तेमाल किया जा सकता है. ये रिकॉर्डिंग हैं मौजूदा Android Studio सेशन के दौरान सेव हुई हुई; अगर आपको उन्हें लंबे समय तक सेव रखें और रिकॉर्डिंग एक्सपोर्ट करें पर क्लिक करके, उन्हें एक्सपोर्ट करें . सभी तरह के ट्रेस एक्सपोर्ट नहीं किए जा सकते.
उदाहरण के लिए, Android Studio के पिछले वर्शन से कोई ट्रेस इंपोर्ट करने के लिए रिकॉर्डिंग इंपोर्ट करना पिछली रिकॉर्डिंग टैब में जाएं और अपनी ट्रेस फ़ाइल चुनें. आप किसी फ़ाइल को Android Studio एडिटर विंडो में खींचकर छोड़ें.
रिकॉर्डिंग के कॉन्फ़िगरेशन में बदलाव करें
प्रोफ़ाइलर के टास्क रिकॉर्डिंग के कॉन्फ़िगरेशन में बदलाव करने के लिए, प्रोफ़ाइलर की सेटिंग पर क्लिक करें . दो मुख्य सेटिंग हैं, जिन्हें टॉगल किया जा सकता है:
- सैंपलिंग वाले टास्क के लिए, सैंपल इंटरवल से हर सैंपल के बीच का समय पता चलता है. इंटरवल जितना छोटा होगा, रिकॉर्ड किए गए डेटा के लिए फ़ाइल साइज़ की सीमा उतनी ही तेज़ी से पूरी होगी.
- फ़ाइल के साइज़ की सीमा से पता चलता है कि कितना डेटा सेव किया जा सकता है कनेक्ट किया गया डिवाइस. रिकॉर्डिंग बंद करने पर, Android Studio इस डेटा को पार्स करता है और इसे प्रोफ़ाइलर विंडो में दिखाता है. यदि आप सीमा बढ़ाते हैं और बहुत ज़्यादा डेटा है, तो Android Studio को फ़ाइल पार्स करने में ज़्यादा समय लगता है और प्रतिक्रिया नहीं कर सकता.