Monzo ने R8 को अपडेट करके, परफ़ॉर्मेंस मेट्रिक में 35% तक की बढ़ोतरी की
पढ़ने में दो मिनट लगेंगे
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 पर जाएं
-
केस स्टडीKarrot, आस-पास के इलाके के लोगों के लिए बनाया गया एक ऐसा मार्केटप्लेस ऐप्लिकेशन है जहां लोग आपस में सामान खरीदते, बेचते, और बदलते हैं. इस ऐप्लिकेशन पर, पुष्टि किए गए लोग ही सामान खरीद, बेच, और बदल सकते हैं. इस प्लैटफ़ॉर्म को 2015 में दक्षिण कोरिया में लॉन्च किया गया था. इसके बाद, यह दुनिया भर के बाज़ारों में फैल गया. इस पर 4.3 करोड़ से ज़्यादा लोग रजिस्टर कर चुके हैं.
Thomas Ezan, Tracy Agyemang • दो मिनट में पढ़ें -
केस स्टडीसोशल मीडिया की इस डाइनैमिक दुनिया में, उपयोगकर्ता का ध्यान तुरंत खींच लिया जाता है या वह तुरंत हट जाता है. Meta के ऐप्लिकेशन (Facebook और Instagram), दुनिया के सबसे बड़े सोशल प्लैटफ़ॉर्म में से एक हैं. ये दुनिया भर के अरबों लोगों को सेवाएं देते हैं.
Mayuri Khinvasara Khabya, Tracy Agyemang • पढ़ने में 4 मिनट लगेंगे -
केस स्टडीवियरेबल डिवाइस के लिए Android ऐप्लिकेशन बनाने का मतलब है कि स्क्रीन बंद होने पर असली काम शुरू होता है.
Breana Tate, Tracy Agyemang • पढ़ने में 4 मिनट लगेंगे
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.