आपके ऐप्लिकेशन के कोड को एक्ज़ीक्यूट करने के दौरान कॉल की गई Java/Kotlin मेथड को रिकॉर्ड करने से, आपको किसी तय समय पर कॉलस्टैक और सीपीयू के इस्तेमाल की जानकारी मिलती है. इसे Java/Kotlin मेथड के हिसाब से फ़िल्टर किया जाता है. इस डेटा से, कोड के उन सेक्शन की पहचान करने में मदद मिलती है जिन्हें एक्ज़ीक्यूट करने में ज़्यादा समय लगता है या सिस्टम के ज़्यादा संसाधनों की ज़रूरत होती है. अगर आपको नेटिव कॉल फ़्रेम के साथ-साथ पूरे कॉलस्टैक का व्यू चाहिए, तो कॉलस्टैक सैंपल प्रोफ़ाइलिंग टास्क का इस्तेमाल करें.
Android Studio के प्रोफ़ाइलर का इस्तेमाल करके Java/Kotlin के तरीके रिकॉर्ड करते समय, रिकॉर्डिंग का टाइप चुना जा सकता है:
ट्रेसिंग: यह आपके ऐप्लिकेशन को रनटाइम में इंस्ट्रुमेंट करता है, ताकि हर तरीके के कॉल की शुरुआत और आखिर में टाइमस्टैंप रिकॉर्ड किया जा सके. टाइमस्टैंप इकट्ठा किए जाते हैं और उनकी तुलना की जाती है, ताकि मेथड ट्रेसिंग डेटा जनरेट किया जा सके. इसमें समय की जानकारी भी शामिल होती है. जब आपको यह जानना हो कि कौनसी मेथड कॉल की जा रही हैं, तब आपको ट्रेसिंग का इस्तेमाल करना चाहिए. ट्रेसिंग एक मुश्किल प्रोसेस है. इसलिए, अगर आपको इस विकल्प का इस्तेमाल करना है, तो बेहतर होगा कि आपकी रिकॉर्डिंग पांच सेकंड या उससे कम हो.
सैंपलिंग (लेगसी): यह आपके ऐप्लिकेशन के Java या Kotlin पर आधारित कोड के एक्ज़ीक्यूशन के दौरान, तय समय पर आपके ऐप्लिकेशन के कॉल स्टैक को कैप्चर करता है. प्रोफ़ाइलर, कैप्चर किए गए डेटा के सेट की तुलना करता है. इससे, आपके ऐप्लिकेशन के Java या Kotlin पर आधारित कोड को एक्ज़ीक्यूट करने में लगने वाले समय और संसाधन के इस्तेमाल की जानकारी मिलती है. अगर आपको सटीक तरीकों के बजाय समय पर कॉल करने से ज़्यादा मतलब है, तो आपको सैंपलिंग का इस्तेमाल करना चाहिए.
Java/Kotlin के तरीकों की खास जानकारी
सीपीयू के ज़्यादा इस्तेमाल वाली प्रोसेस ढूंढने का टास्क पूरा होने के बाद, Android Studio Profiler यह जानकारी देता है:
- सीपीयू का इस्तेमाल: इससे पता चलता है कि आपका ऐप्लिकेशन, समय के हिसाब से सीपीयू की कुल क्षमता का कितना प्रतिशत इस्तेमाल करता है. ध्यान दें कि सीपीयू के इस्तेमाल में, सिर्फ़ Java/Kotlin के तरीके ही नहीं, बल्कि नेटिव कोड भी शामिल होता है. टाइमलाइन के किसी सेक्शन को हाइलाइट करके, उस समयावधि की जानकारी को फ़िल्टर करें.
- इंटरैक्शन: इससे टाइमलाइन के साथ-साथ उपयोगकर्ता इंटरैक्शन और ऐप्लिकेशन लाइफ़साइकल इवेंट दिखते हैं.
- थ्रेड: इससे पता चलता है कि आपका ऐप्लिकेशन किन थ्रेड पर चलता है. ज़्यादातर मामलों में, आपको सबसे पहले उस थ्रेड पर फ़ोकस करना चाहिए जो आपके ऐप्लिकेशन को दिखाती है.
सबसे ज़्यादा समय लेने वाले तरीकों या कॉल स्टैक की पहचान करने के लिए, फ़्लेम चार्ट या टॉप डाउन चार्ट का इस्तेमाल करें.