Wear OS पर ऐप्लिकेशन की परफ़ॉर्मेंस को ध्यान में रखना ज़रूरी है. ऐसा इसलिए, क्योंकि Wear OS वाले कई डिवाइसों में, बड़े मोबाइल डिवाइसों की तुलना में सीपीयू और जीपीयू के संसाधन सीमित होते हैं. Material 3 Expressive में बेहतर ऐनिमेशन और डाइनैमिक इफ़ेक्ट जोड़े गए हैं. इसलिए, आपको अपने ऐप्लिकेशन के मुख्य वर्कफ़्लो की परफ़ॉर्मेंस की पुष्टि करनी चाहिए और उसे बेहतर बनाना चाहिए.
Jetpack Compose की परफ़ॉर्मेंस गाइड का इस्तेमाल करके, Jetpack Compose का इस्तेमाल करके अपने ऐप्लिकेशन को कॉन्फ़िगर करें और उसे डेवलप करें, ताकि वह सबसे अच्छी परफ़ॉर्मेंस दे सके. इस दस्तावेज़ में, उस गाइड में बताई गई कुछ तकनीकों के बारे में बताया गया है.
परफ़ॉर्मेंस मेज़रमेंट की रणनीतियां बनाएं और उनका पालन करें. इससे यह पुष्टि की जा सकेगी कि ये तकनीकें आपके ऐप्लिकेशन के लिए उम्मीद के मुताबिक काम कर रही हैं.
परफ़ॉर्मेंस को बेहतर बनाने की ज़रूरी तकनीकें
सबसे असरदार परफ़ॉर्मेंस टूल टाइप से शुरुआत करें: बेसलाइन प्रोफ़ाइलें (स्टार्टअप प्रोफ़ाइलें भी शामिल हैं) और R8 कोड ऑप्टिमाइज़र.
अपनी Compose डिपेंडेंसी को 1.8 या उसके बाद के वर्शन में अपडेट करें. इस वर्शन में कई नई सुविधाएं जोड़ी गई हैं. साथ ही, लाइब्रेरी की स्थिरता को बेहतर बनाया गया है. अपडेट करने का तरीका जानने के लिए, डिपेंडेंसी का एलान करना में दिए गए निर्देश देखें. ज़्यादा जानने के लिए, 1.8 वर्शन की रिलीज़ के बारे में हमारा ब्लॉग और Compose में नया क्या है I/O टॉक पढ़ें.
बेसलाइन प्रोफ़ाइलें
अपने ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, बेसलाइन प्रोफ़ाइल का इस्तेमाल करें. अपने ऐप्लिकेशन के मुख्य वर्कफ़्लो को दिखाने वाली क्लास और तरीकों को एक साथ ग्रुप करें. इससे सिस्टम, बेसलाइन प्रोफ़ाइल का इस्तेमाल करके उन्हें पहले से कंपाइल कर सकता है. इससे ऐप्लिकेशन के खुलने में लगने वाला समय कम हो सकता है, जंक फ़्रेम कम हो सकते हैं, और परफ़ॉर्मेंस में और सुधार हो सकता है.
Jetpack Compose की हर लाइब्रेरी, अपनी प्रोफ़ाइल के नियमों के साथ शिप होती है. जब आपका ऐप्लिकेशन किसी लाइब्रेरी पर निर्भर होता है, तो लाइब्रेरी के प्रोफ़ाइल बनाने के नियमों को आपके ऐप्लिकेशन के APK के साथ अपने-आप मर्ज कर दिया जाता है. साथ ही, उन्हें पहले से कंपाइल करने के लिए डिस्ट्रिब्यूट कर दिया जाता है.
इन तकनीकों का इस्तेमाल करके, अपनी बेसलाइन प्रोफ़ाइलों की पुष्टि करें:
- मैक्रोबेंचमार्क टेस्ट का इस्तेमाल करें.
- अपने ऐप्लिकेशन के प्रोफ़ाइल कॉन्फ़िगरेशन की स्थिति की पुष्टि करने के लिए, ADB के कुछ खास निर्देशों का इस्तेमाल करें. इन दोनों तकनीकों को इस्तेमाल करने का तरीका, परफ़ॉर्मेंस मेज़रमेंट और पुष्टि गाइड में बताया गया है.
स्टार्टअप प्रोफ़ाइल
स्टार्टअप प्रोफ़ाइलें, बेसलाइन प्रोफ़ाइलों का सबसेट होती हैं. ये ऐप्लिकेशन के खुलने में लगने वाले समय को कम करने के लिए, उनमें मौजूद क्लास और तरीकों को और ऑप्टिमाइज़ करती हैं.
स्टार्टअप प्रोफ़ाइल जोड़ने से, आपके ऐप्लिकेशन के 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, प्रोग्राम के हिसाब से इंटरैक्शन को अपने-आप होने की सुविधा देता है. इस एपीआई का इस्तेमाल करके, यूज़र इंटरफ़ेस (यूआई) के अलग-अलग हिस्सों की तुलना की जा सकती है. इससे, उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, उपयोगकर्ता के सफ़र की जांच की जा सकती है.
मैक्रोबेंचमार्क टेस्ट
मैक्रोबेंचमार्क, आपके ऐप्लिकेशन के इस्तेमाल के बड़े उदाहरणों की जांच करते हैं. खास तौर पर, ऐप्लिकेशन के स्टार्टअप और जटिल यूज़र इंटरफ़ेस (यूआई) में बदलाव की जांच करते हैं. शुरू करने के लिए, लागू करने के बारे में जानकारी देखें.
बेसलाइन प्रोफ़ाइलों की परफ़ॉर्मेंस की पुष्टि करने के लिए, मैक्रोबेंचमार्क का इस्तेमाल करने का उदाहरण देखने के लिए, GitHub पर परफ़ॉर्मेंस के सैंपल देखें.
JankStats लाइब्रेरी
ऐप्लिकेशन में परफ़ॉर्मेंस से जुड़ी समस्याओं को ट्रैक और उनका विश्लेषण करने के लिए, JankStats लाइब्रेरी का इस्तेमाल करें.
उदाहरण के लिए, GitHub पर JankStats का सैंपल देखें.
सिस्टम ट्रेस करने वाला टूल
Material 3 Expressive में जोड़े गए नए ऐनिमेशन टाइप का इस्तेमाल करें. साथ ही, Android Studio में सिस्टम ट्रेस सुविधा का इस्तेमाल करके, उपयोगकर्ता के संभावित तौर पर समस्या वाले सफ़र में लेटेन्सी की जांच करें और उसका पता लगाएं. इस जानकारी की मदद से, अपनी बेसलाइन प्रोफ़ाइलों के कॉन्टेंट की पुष्टि करें. साथ ही, अपने कोड लॉजिक में संभावित कमियों का पता लगाएं.
अन्य टूल
परफ़ॉर्मेंस को बेहतर बनाने वाले टूल के अलावा, अपनी प्रोडक्टिविटी और वर्कफ़्लो को बेहतर बनाने के लिए अन्य टूल का इस्तेमाल किया जा सकता है.
Android Studio में प्रॉडक्टिविटी बढ़ाने वाले टूल
Android Studio में कई टूल उपलब्ध हैं. इनकी मदद से, परफ़ॉर्मेंस में सुधार करने के लिए ज़रूरी समय को कम किया जा सकता है.
उदाहरण के लिए, लाइव एडिट और कंपोज़ेबल प्रीव्यू जैसे टूल का इस्तेमाल करके, परफ़ॉर्मेंस को बेहतर बनाने के लिए, खराब यूज़र इंटरफ़ेस (यूआई) एलिमेंट और आपके ऐप्लिकेशन के कोड में उनसे जुड़ी जगहों की पहचान की जा सकती है.
Wear OS वाले सभी फ़िज़िकल डिवाइसों पर, परफ़ॉर्मेंस से जुड़े सभी फ़ाइनल टेस्ट चलाएं. इससे आपको टारगेट किए गए उपयोगकर्ताओं के बारे में सटीक जानकारी मिलेगी.
यह खास तौर पर तब ज़रूरी होता है, जब Material 3 Expressive पर माइग्रेट किया जा रहा हो. इससे आपके ऐप्लिकेशन में फ़्लेक्स फ़ॉन्ट और शेप मॉर्फ़िंग जैसी सुविधाएं मिलती हैं.
अगर आपको व्यू से माइग्रेट करना है, तो हमारी माइग्रेशन गाइड देखें. साथ ही, Jetpack Compose की परफ़ॉर्मेंस के लिए सबसे सही तरीके देखें. इससे यह पुष्टि की जा सकेगी कि Jetpack Compose का इस्तेमाल करते समय, आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) अच्छी परफ़ॉर्म कर रहे हैं.
अन्य संसाधन
Android की परफ़ॉर्मेंस से जुड़ी नई जानकारी पाने के लिए, ऐप्लिकेशन की परफ़ॉर्मेंस गाइड में नई खबरें और वीडियो देखें.