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