Wear OS पर ऐप्लिकेशन की परफ़ॉर्मेंस का ध्यान रखना ज़रूरी है. ऐसा इसलिए, क्योंकि Wear OS वाले कई डिवाइसों में, बड़े मोबाइल डिवाइसों की तुलना में सीपीयू और जीपीयू के संसाधन सीमित होते हैं. मटीरियल 3 एक्सप्रेसिव में बेहतर ऐनिमेशन और डाइनैमिक इफ़ेक्ट की सुविधा उपलब्ध है. इसलिए, आपको अपने ऐप्लिकेशन के मुख्य वर्कफ़्लो की परफ़ॉर्मेंस की पुष्टि करनी चाहिए और उसे बेहतर बनाना चाहिए.
Jetpack Compose का इस्तेमाल करके, अपने ऐप्लिकेशन को बेहतर परफ़ॉर्मेंस के लिए कॉन्फ़िगर और डेवलप करें. इसके लिए, Jetpack Compose की परफ़ॉर्मेंस गाइड का इस्तेमाल करें. इस दस्तावेज़ में, उस गाइड में बताई गई कुछ तकनीकों के बारे में बताया गया है.
परफ़ॉर्मेंस मेज़रमेंट की रणनीतियां बनाएं और उनका पालन करें, ताकि यह पुष्टि की जा सके कि ये तकनीकें आपके ऐप्लिकेशन के लिए उम्मीद के मुताबिक काम करती हैं.
परफ़ॉर्मेंस को बेहतर बनाने की ज़रूरी तकनीकें
परफ़ॉर्मेंस को बेहतर बनाने वाले सबसे असरदार टूल से शुरुआत करें: बेसलाइन प्रोफ़ाइलें (इनमें स्टार्टअप प्रोफ़ाइलें भी शामिल हैं) और R8 कोड ऑप्टिमाइज़र.
अपनी Compose डिपेंडेंसी को वर्शन 1.8 या इसके बाद के वर्शन पर अपडेट करें. इस वर्शन में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, लाइब्रेरी को और बेहतर बनाया गया है. अपडेट करने का तरीका जानने के लिए, डिपेंडेंसी का एलान करना में दिए गए निर्देश देखें. ज़्यादा जानने के लिए, 1.8 रिलीज़ के बारे में हमारा ब्लॉग और Compose में नया क्या है I/O टॉक पढ़ें.
बेसलाइन प्रोफ़ाइलें
अपने ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, बेसलाइन प्रोफ़ाइल का इस्तेमाल करें. अपने ऐप्लिकेशन के मुख्य वर्कफ़्लो को दिखाने वाली क्लास और तरीकों को एक साथ ग्रुप करें. सिस्टम, बेसलाइन प्रोफ़ाइल का इस्तेमाल करके इन्हें पहले से कंपाइल कर सकता है. इससे ऐप्लिकेशन के खुलने में लगने वाला समय कम हो सकता है, जंकी फ़्रेम कम हो सकते हैं, और परफ़ॉर्मेंस में अन्य सुधार हो सकते हैं.
Jetpack Compose की हर लाइब्रेरी, प्रोफ़ाइल के अपने नियमों के साथ शिप की जाती है. जब आपका ऐप्लिकेशन किसी लाइब्रेरी पर निर्भर होता है, तो लाइब्रेरी प्रोफ़ाइल के नियम अपने-आप मर्ज हो जाते हैं. साथ ही, प्रीकंपाइलेशन के लिए आपके ऐप्लिकेशन के APK के साथ डिस्ट्रिब्यूट हो जाते हैं.
इन तकनीकों का इस्तेमाल करके, अपनी बेसलाइन प्रोफ़ाइलों की पुष्टि करें:
- मैक्रोबेंचमार्क टेस्ट का इस्तेमाल करें.
- अपने ऐप्लिकेशन की प्रोफ़ाइल के कॉन्फ़िगरेशन की स्थिति की पुष्टि करने के लिए, खास एडीबी कमांड का इस्तेमाल करें. इन दोनों तकनीकों को लागू करने का तरीका, परफ़ॉर्मेंस को मेज़र करने और उसकी पुष्टि करने से जुड़ी गाइड में बताया गया है.
स्टार्टअप प्रोफ़ाइलें
बेसलाइन प्रोफ़ाइलों के सबसेट के तौर पर, स्टार्टअप प्रोफ़ाइलें, उनमें मौजूद क्लास और तरीकों को और ऑप्टिमाइज़ करती हैं, ताकि ऐप्लिकेशन के शुरू होने में लगने वाले समय को कम किया जा सके.
स्टार्टअप प्रोफ़ाइल जोड़ने से, आपके ऐप्लिकेशन के APK का साइज़ बढ़ जाएगा. इसलिए, प्रोडक्शन रिलीज़ में स्टार्टअप प्रोफ़ाइल जोड़ने से पहले, APK के साइज़ और स्टार्टअप लेटेंसी के बीच के अंतर का आकलन ज़रूर कर लें.
शुरू करने के लिए, स्टार्टअप प्रोफ़ाइल बनाना लेख पढ़ें.
R8
ऐप्लिकेशन को छोटा और ऑप्टिमाइज़ करने के लिए, R8 कंपाइलर का इस्तेमाल करें. R8, इस्तेमाल न होने वाले कोड और संसाधनों को हटा देता है. साथ ही, रनटाइम की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने के लिए, कोड को फिर से लिखता है. इसके अलावा, यह और भी कई काम करता है.
परफ़ॉर्मेंस को बेहतर बनाने से जुड़ी खास जानकारी वाली गाइड में, R8 के लिए ध्यान रखने वाली बातें पढ़ें. इसमें इस्तेमाल न किए गए संसाधनों को हटाने के मुख्य तरीके भी शामिल हैं.
परफ़ॉर्मेंस मेज़रमेंट और पुष्टि करना
Android पर परफ़ॉर्मेंस मेज़र करने की सामान्य रणनीतियों के बारे में जानने के लिए, ऐप्लिकेशन की परफ़ॉर्मेंस मेज़र करने के बारे में खास जानकारी देखें. इस सेक्शन में, उस दस्तावेज़ में बताई गई कुछ तकनीकों के बारे में बताया गया है.
मेज़रमेंट के लिए, बिल्ड का कोई वैरिएंट चुनें
डीबग मोड कई समस्याओं का पता लगाने के लिए मददगार है. हालांकि, इससे परफ़ॉर्मेंस पर काफ़ी असर पड़ता है. साथ ही, यह बेसलाइन प्रोफ़ाइल का इस्तेमाल नहीं करता. इसके अलावा, इससे कोड से जुड़ी उन समस्याओं का पता लगाना मुश्किल हो सकता है जिनसे परफ़ॉर्मेंस पर असर पड़ सकता है.
अपने ऐप्लिकेशन की परफ़ॉर्मेंस को सटीक तरीके से समझने के लिए, ऐप्लिकेशन को रिलीज़ मोड में चलाएं.
परफ़ॉर्मेंस के बारे में आखिरी नतीजे सिर्फ़ उन टेस्ट से निकालें जो रिलीज़ के लिए तैयार बिल्ड के विकल्पों के साथ और असली डिवाइसों पर चल रहे ऐप्लिकेशन के साथ किए गए हों.
हालांकि, मानदंड की जांच करते समय, मानदंड के बिल्ड वैरिएंट का इस्तेमाल करें. इसमें रिलीज़ डीबगिंग से कुछ मुख्य अंतर होते हैं. ज़्यादा जानकारी के लिए, मैक्रोबेंचमार्क सेटअप गाइड देखें.
अपने ऐप्लिकेशन की बेसलाइन प्रोफ़ाइलों की पुष्टि करना
सबसे पहले, अपनी प्रोफ़ाइल का स्टेटस देखें:
adb shell dumpsys package dexopt | grep -A 1 $PACKAGE_NAME
अगर स्टेटस status=speed-profile नहीं है, तो इसका मतलब है कि ऐप्लिकेशन को ऑप्टिमाइज़ करने के लिए, प्रोफ़ाइल के नियम अब तक लागू नहीं किए गए हैं.
नियमों को बैकग्राउंड में चलने वाले किसी जॉब का इस्तेमाल करके लागू किया जाता है. यह जॉब तब चलता है, जब डिवाइस चार्ज हो रहा हो और इस्तेमाल में न हो. इसे मैन्युअल तरीके से ट्रिगर करने के लिए, ऐप्लिकेशन लॉन्च होने के बाद यह कमांड चलाएं. साथ ही, प्रोफ़ाइल इंस्टॉलर को बैकग्राउंड में प्रोफ़ाइल को बूटस्ट्रैप करने के लिए, ज़रूरत के मुताबिक समय दें. आम तौर पर, इस प्रोसेस में करीब 40 सेकंड लगते हैं.
adb shell cmd package bg-dexopt-job
इसके बाद, पिछले निर्देश को फिर से चलाएं और पुष्टि करें कि स्टेटस speed-profile है.
ऐसी स्थितियों के लिए जहां इंस्टॉल के समय ऑप्टिमाइज़ेशन होता है, बेसलाइन प्रोफ़ाइल को अनजान सोर्स से इंस्टॉल करना लेख पढ़ें.
UI Automator API
UI Automator API, प्रोग्राम के हिसाब से इंटरैक्शन को ऑटोमेट करता है. इस एपीआई का इस्तेमाल करके, यूज़र इंटरफ़ेस (यूआई) के अलग-अलग हिस्सों की परफ़ॉर्मेंस की तुलना करें. इससे, उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, उनकी गतिविधियों की जांच की जा सकती है.
Macrobenchmark टेस्ट
मैक्रोबेंचमार्क, आपके ऐप्लिकेशन के इस्तेमाल के बड़े उदाहरणों की जांच करते हैं. खास तौर पर, ऐप्लिकेशन के स्टार्टअप और जटिल यूज़र इंटरफ़ेस (यूआई) में किए गए बदलावों की. शुरू करने के लिए, लागू करने के बारे में जानकारी देखें.
बेसलाइन प्रोफ़ाइलों की परफ़ॉर्मेंस की पुष्टि करने के लिए, मैक्रोबेंचमार्क इस्तेमाल करने का उदाहरण देखने के लिए, GitHub पर परफ़ॉर्मेंस के सैंपल देखें.
JankStats लाइब्रेरी
ऐप्लिकेशन की परफ़ॉर्मेंस से जुड़ी समस्याओं को ट्रैक और उनका विश्लेषण करने के लिए, JankStats लाइब्रेरी का इस्तेमाल करें.
उदाहरण के लिए, GitHub पर JankStats का सैंपल देखें.
सिस्टम ट्रेस करने वाला टूल
मटीरियल 3 एक्सप्रेसिव में, ऐनिमेशन के नए टाइप जोड़े गए हैं. Android Studio में सिस्टम ट्रेस करने की सुविधा का इस्तेमाल करके, उपयोगकर्ता की गतिविधि में आने वाली संभावित समस्याओं की जांच करें और उन्हें ठीक करें. इस जानकारी की मदद से, अपनी बेसलाइन प्रोफ़ाइलों के कॉन्टेंट की पुष्टि करें. साथ ही, अपने कोड लॉजिक में मौजूद संभावित गड़बड़ियों की पहचान करें.
अन्य टूल
परफ़ॉर्मेंस को बेहतर बनाने वाले टूल के अलावा, अन्य टूल का इस्तेमाल करके भी अपनी उत्पादकता और वर्कफ़्लो को बेहतर बनाया जा सकता है.
Android Studio में बेहतर ढंग से काम करने में मदद करने वाले टूल
Android Studio में कई ऐसे टूल उपलब्ध हैं जिनकी मदद से, परफ़ॉर्मेंस को बेहतर बनाने के तरीके ढूंढने में लगने वाले समय को कम किया जा सकता है.
उदाहरण के लिए, लाइव एडिट और कंपोज़ेबल की झलक जैसे टूल का इस्तेमाल करके, यूज़र इंटरफ़ेस (यूआई) के खराब एलिमेंट की पहचान की जा सकती है. साथ ही, ऐप्लिकेशन के कोड में मौजूद उन हिस्सों की पहचान की जा सकती है जिनकी वजह से परफ़ॉर्मेंस खराब हो रही है.
Wear OS डिवाइसों के सुइट पर, परफ़ॉर्मेंस से जुड़े सभी फ़ाइनल टेस्ट करें. इससे आपको अपने टारगेट किए गए उपयोगकर्ताओं के ग्रुप के बारे में सटीक जानकारी मिलेगी.
यह तब और भी ज़रूरी हो जाता है, जब मटीरियल 3 एक्सप्रेसिव पर माइग्रेट किया जा रहा हो. इसमें आपके ऐप्लिकेशन के लिए, फ़्लेक्स फ़ॉन्ट और शेप मॉर्फ़िंग जैसी सुविधाएं मिलती हैं.
अगर व्यू से माइग्रेट किया जा रहा है, तो माइग्रेट करने से जुड़ी गाइड और Jetpack Compose की परफ़ॉर्मेंस के लिए सबसे सही तरीके देखें. इससे यह पुष्टि की जा सकेगी कि Jetpack Compose का इस्तेमाल करने पर, आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की परफ़ॉर्मेंस अच्छी है.
अन्य संसाधन
Android की परफ़ॉर्मेंस से अप-टू-डेट रहने के लिए, ऐप्लिकेशन की परफ़ॉर्मेंस से जुड़ी गाइड में मौजूद ताज़ा खबरें और वीडियो देखें.