Wear OS पर Jetpack Compose की परफ़ॉर्मेंस

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 की परफ़ॉर्मेंस से जुड़ी नई जानकारी पाने के लिए, ऐप्लिकेशन की परफ़ॉर्मेंस गाइड में नई खबरें और वीडियो देखें.