Jetpack Compose, ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने में मदद करता है. अपने ऐप्लिकेशन को सबसे सही तरीकों का इस्तेमाल करके कॉन्फ़िगर करें, ताकि सामान्य समस्याओं से बचा जा सके. साथ ही, Compose ऐप्लिकेशन की परफ़ॉर्मेंस को ऑप्टिमाइज़ किया जा सके.
Jetpack Compose को बेंचमार्क करना
Views के मुकाबले Jetpack Compose की परफ़ॉर्मेंस की पुष्टि करने के लिए, हम हीरो बेंचमार्क का इस्तेमाल करते हैं. ये बेंचमार्क, उपयोगकर्ताओं की अहम और असल दुनिया की यात्राओं पर फ़ोकस करते हैं. जैसे, किसी ऐप्लिकेशन को पहली बार शुरू करना या इमेज वाली सूची या ग्रिड को स्क्रोल करना. हम इन बेंचमार्क को ओपन-सोर्स Pokedex ऐप्लिकेशन का इस्तेमाल करके करते हैं. इसमें Views और Compose के लागू करने के तरीकों की तुलना की जाती है.
इन बेंचमार्क से पता चलता है कि Compose 1.9 और इसके बाद के वर्शन, स्क्रोल करते समय होने वाली गड़बड़ियों के मामले में Views की परफ़ॉर्मेंस के बराबर हैं.
ज़्यादा मेट्रिक और हमारे तरीकों के बारे में जानने के लिए, हीरो बेंचमार्क देखें.
मुख्य सिद्धांत
Compose में परफ़ॉर्मेंस से जुड़े कुछ मुख्य सिद्धांत यहां दिए गए हैं:
- फ़ेज़: कंपोज़िशन, लेआउट, और ड्रॉइंग फ़ेज़ को समझना ज़रूरी है. इससे यह ऑप्टिमाइज़ किया जा सकता है कि Compose, आपके यूज़र इंटरफ़ेस (यूआई) को कैसे अपडेट करता है.
- बेसलाइन प्रोफ़ाइलें: इन प्रोफ़ाइलों में ज़रूरी कोड पहले से कंपाइल होता है, इससे ऐप्लिकेशन तेज़ी से लॉन्च होते हैं और इंटरैक्शन बेहतर होते हैं.
- स्टेबिलिटी: अपने ऐप्लिकेशन की स्टेबिलिटी बढ़ाएं, ताकि बिना काम के रीकंपोज़िशन को ज़्यादा आसानी से स्किप किया जा सके. इससे परफ़ॉर्मेंस बेहतर होती है.
अपने ऐप्लिकेशन को सही तरीके से कॉन्फ़िगर करना
अगर आपके ऐप्लिकेशन की परफ़ॉर्मेंस खराब है, तो हो सकता है कि कॉन्फ़िगरेशन में कोई समस्या हो. सबसे पहले, यहां दिए गए कॉन्फ़िगरेशन के विकल्पों की जांच करें:
- R8 के साथ रिलीज़ मोड में बनाना: अपने ऐप्लिकेशन को रिलीज़ मोड में चलाने की कोशिश करें. डीबग मोड, कई समस्याओं का पता लगाने के लिए काम का है. हालांकि, इससे परफ़ॉर्मेंस पर असर पड़ता है और अन्य समस्याओं का पता लगाना मुश्किल हो सकता है. आपको R8 कंपाइलर की मदद से ऑप्टिमाइज़ करने और साइज़ कम करने की सुविधा भी चालू करनी चाहिए, ताकि यह पक्का किया जा सके कि रिलीज़ के लिए तैयार बिल्ड की परफ़ॉर्मेंस अच्छी हो और वह कम जगह ले.
- बेसलाइन प्रोफ़ाइलें इस्तेमाल करना: बेसलाइन प्रोफ़ाइलें, अहम यूज़र जर्नी के लिए कोड को पहले से कंपाइल करके परफ़ॉर्मेंस को बेहतर बनाती हैं. Compose में डिफ़ॉल्ट प्रोफ़ाइल शामिल होती है. हालांकि, आपको ऐप्लिकेशन के हिसाब से भी एक प्रोफ़ाइल बनानी चाहिए. Android की परफ़ॉर्मेंस से जुड़े सामान्य दस्तावेज़ों में, बेसलाइन प्रोफ़ाइलों के बारे में ज़्यादा जानें
टूल
Compose ऐप्लिकेशन की परफ़ॉर्मेंस को मापने और उसका विश्लेषण करने में मदद करने वाले टूल के सुइट के बारे में जानें.
सबसे सही तरीके
Compose की मदद से अपना ऐप्लिकेशन डेवलप करते समय, इन सबसे सही तरीकों को ध्यान में रखें:
- ज़्यादा समय लेने वाली कैलकुलेशन से बचें: ज़्यादा समय लेने वाली कैलकुलेशन के नतीजों को कैश मेमोरी में सेव करने के लिए,
rememberका इस्तेमाल करें. - लेज़ी लेआउट में मदद करना: गैर-ज़रूरी रीकंपोज़िशन को कम करने के लिए, लेज़ी लेआउट को स्टेबल की उपलब्ध कराने के लिए
keyपैरामीटर का इस्तेमाल करें. - गैर-ज़रूरी रीकंपोज़िशन को सीमित करना: तेज़ी से बदल रहे स्टेट के दौरान रीकंपोज़िशन को सीमित करने के लिए,
derivedStateOfका इस्तेमाल करें. - स्टेट रीड को टालना: lambda फ़ंक्शन में रैप करके, स्टेट रीड को जितना हो सके उतना टालें.
- स्टेट बदलने के लिए lambda मॉडिफ़ायर का इस्तेमाल करना: अक्सर बदलने वाले स्टेट
वैरिएबल के लिए, lambda-आधारित
मॉडिफ़ायर का इस्तेमाल करें. जैसे,
Modifier.offset { ... }. - बैकवर्ड राइट से बचना: कभी भी ऐसे स्टेट में न लिखें जिसे कंपोज़ेबल में पहले ही पढ़ा जा चुका हो.
ज़्यादा जानकारी के लिए, सबसे सही तरीकों की गाइड देखें.
Views
अगर Compose के बजाय व्यू का इस्तेमाल किया जा रहा है, तो लेआउट की परफ़ॉर्मेंस को बेहतर बनाने के लिए बनी खास गाइड देखें.
अन्य संसाधन
- ऐप्लिकेशन की परफ़ॉर्मेंस से जुड़ी गाइड: Android पर परफ़ॉर्मेंस को बेहतर बनाने के लिए, सबसे सही तरीके, लाइब्रेरी, और टूल के बारे में जानें.
- परफ़ॉर्मेंस की जांच करना: ऐप्लिकेशन की परफ़ॉर्मेंस की जांच करना.
- तुलना: ऐप्लिकेशन की परफ़ॉर्मेंस की तुलना करना.
- ऐप्लिकेशन का स्टार्टअप: ऐप्लिकेशन के स्टार्टअप को ऑप्टिमाइज़ करना.
- बेसलाइन प्रोफ़ाइलें: बेसलाइन प्रोफ़ाइलों के बारे में जानना.