Monzo, यूनाइटेड किंगडम का एक डिजिटल बैंक है. इसके 1.5 करोड़ ग्राहक हैं और इनकी संख्या लगातार बढ़ रही है. ऐप्लिकेशन के बढ़ने के साथ-साथ, इंजीनियरिंग टीम ने ऐप्लिकेशन के शुरू होने में लगने वाले समय को सुधार के लिए एक अहम क्षेत्र के तौर पर पहचाना. हालांकि, टीम को चिंता थी कि इसके लिए, उन्हें अपने कोडबेस में काफ़ी बदलाव करने होंगे.
R8 ऑप्टिमाइज़ेशन को पूरी तरह से चालू करने पर, Monzo को ऐप्लिकेशन काम नहीं कर रहा (एएनआर) रेट में 35% की भारी गिरावट मिली. इस आसान बदलाव से यह साबित हुआ कि असरदार ऑप्टिमाइज़ेशन के लिए, हमेशा जटिल इंजीनियरिंग की ज़रूरत नहीं होती.
R8 फ़ुल मोड की मदद से, बेहतर परफ़ॉर्मेंस हासिल करना
Monzo ने R8 के फ़ुल मोड को आज़माने लायक़ और आसान फ़िक्स के तौर पर पहचाना. यह काम कर गया और इससे सभी मामलों में परफ़ॉर्मेंस बेहतर हुई:
- स्टार्टअप की विश्वसनीयता: कोल्ड स्टार्ट में 30%, वॉर्म स्टार्ट में 24%, और हॉट स्टार्ट में 14% का सुधार हुआ है.
- लॉन्च होने की स्पीड: P50 के लॉन्च होने में लगने वाले समय में 11% और P90 के लॉन्च होने में लगने वाले समय में 12% की कमी आई है.
- बेहतर परफ़ॉर्मेंस: ऐप्लिकेशन का कुल साइज़ 9% कम हो गया.
- स्टेबिलिटी: एएनआर में 35% की कमी आई.
एक बदलाव करके ऑप्टिमाइज़ेशन की सुविधा चालू करना
कई Android ऐप्लिकेशन, पुरानी डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करते हैं. इससे R8 ऑप्टिमाइज़र की ज़्यादातर सुविधाएं बंद हो जाती हैं. परफ़ॉर्मेंस को बेहतर बनाने के लिए, Monzo ने proguard-android.txt डिफ़ॉल्ट फ़ाइल को proguard-android-optimize.txt से बदल दिया. इस बदलाव से, -dontoptimize निर्देश हट जाता है. इससे R8 को अपना काम सही तरीके से करने में मदद मिलती है.
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
)
}
}
यह बदलाव करने के बाद, Keep की कॉन्फ़िगरेशन फ़ाइलें देखना ज़रूरी है. इन फ़ाइलों से R8 को पता चलता है कि आपके कोड के किन हिस्सों को नहीं बदलना है. आम तौर पर, ऐसा इसलिए किया जाता है, क्योंकि उन्हें डाइनैमिक तौर पर या बाहरी लाइब्रेरी से कॉल किया जाता है. Keep के गैर-ज़रूरी नियमों को हटाने से, R8 ज़्यादा काम कर सकता है.
बेसलाइन प्रोफ़ाइल की मदद से स्क्रोल करने की परफ़ॉर्मेंस को बेहतर बनाना
उपयोगकर्ता अनुभव को और बेहतर बनाने के लिए, Monzo ने बेसलाइन प्रोफ़ाइलें लागू की हैं. इससे खास तौर पर, मुख्य फ़ीड पर स्क्रोल करने और रेंडर करने की परफ़ॉर्मेंस को टारगेट किया जाता है. इस रणनीति से यह पक्का किया गया कि उपयोगकर्ता के सबसे सामान्य टास्क, जैसे कि ऐप्लिकेशन खोलना और फ़ीड को स्क्रोल करना पूरी तरह से ऑप्टिमाइज़ किया गया हो. रेंडरिंग पर इसका काफ़ी असर पड़ा: स्क्रोल करने की P90 परफ़ॉर्मेंस 71% बेहतर हुई और स्क्रोल करने की P95 परफ़ॉर्मेंस 87% बेहतर हुई. अब ऐप्लिकेशन को पहले से ज़्यादा आसानी से स्क्रोल किया जा सकता है.
Monzo ने इस सुविधा को रिलीज़ करने की प्रोसेस में शामिल किया है, ताकि समय के साथ इन सुधारों को बनाए रखा जा सके. न्यूमेयर बताते हैं, "हम हर कामकाजी दिन, बेसलाइन प्रोफ़ाइल जनरेट करते हैं. ऐसा हम हर रात की जाने वाली बिल्ड प्रोसेस शुरू करने से पहले करते हैं. इसके बाद, हम पूरे हो चुके बदलावों को लागू करते हैं."
Modern Android Development के साथ अप-टू-डेट रहना
Monzo के अनुभव से पता चलता है कि Android के बिल्ड-टूलिंग से जुड़े सुझावों को लागू करने से क्या-क्या फ़ायदे मिल सकते हैं. लेगसी ऐप्लिकेशन को अक्सर मुश्किल रिफ़्लेक्शन के इस्तेमाल में समस्या आती है. हालांकि, Monzo ने Keep Rules को सही तरीके से दस्तावेज़ में शामिल करके, इस ट्रांज़िशन को आसान बना दिया. न्यूमेयर ने कहा, "हम हमेशा एक टिप्पणी जोड़ते हैं, जिसमें यह बताया जाता है कि डेटा को सुरक्षित रखने के नियम क्यों लागू किए गए हैं. इससे हमें यह पता चलता है कि नियमों को कब हटाया जा सकता है."
न्यूमेयर की अन्य टीमों के लिए क्या सलाह है? मौजूदा मानकों के हिसाब से, अपने तरीकों की नियमित तौर पर जांच करें: "ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, Google के नए सुझावों को देखें. साथ ही, यह देखें कि क्या आपने सभी नए सुझावों को लागू किया है."
R8 का इस्तेमाल शुरू करने और इसके बारे में ज़्यादा जानने के लिए, https://d.android.com/r8 पर जाएं
पढ़ना जारी रखें
-
केस स्टडी
Android Developer Relations टीम के साथ काम करते समय, Reddit की इंजीनियरिंग टीम ने अपने ऐप्लिकेशन का आकलन करने के लिए, ऐप्लिकेशन परफ़ॉर्मेंस स्कोर का इस्तेमाल किया.
Ben Weiss • 4 मिनट में पढ़ें
-
केस स्टडी
TikTok, दुनिया भर में शॉर्ट वीडियो के लिए मशहूर प्लैटफ़ॉर्म है. यह अपने बड़े यूज़र बेस और नई सुविधाओं के लिए जाना जाता है.
Ben Trengrove, Ajesh Pai • दो मिनट में पढ़ें
-
केस स्टडी
सोशल मीडिया की इस डाइनैमिक दुनिया में, उपयोगकर्ता का ध्यान तुरंत खींच लिया जाता है या वह तुरंत हट जाता है. Meta के ऐप्लिकेशन (Facebook और Instagram), दुनिया के सबसे बड़े सोशल प्लैटफ़ॉर्म में से एक हैं. ये दुनिया भर के अरबों लोगों को सेवाएं देते हैं.
Mayuri Khinvasara Khabya • 4 मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.