इवेंट और प्रोग्राम
पूरी तरह से ऑप्टिमाइज़ किया गया: परफ़ॉर्मेंस स्पॉटलाइट हफ़्ते का समापन
तीन मिनट में पढ़ें
हमने पिछले हफ़्ते, Android ऐप्लिकेशन को बेहतर बनाने के सबसे सही तरीकों और दिशा-निर्देशों के बारे में जानकारी दी. इससे Android ऐप्लिकेशन को तेज़ी से काम करने, कम जगह लेने, और ज़्यादा भरोसेमंद बनाने में मदद मिलती है. हमने R8 ऑप्टिमाइज़र और प्रोफ़ाइल गाइडेड ऑप्टिमाइज़ेशन की बुनियादी सुविधाओं से लेकर, Jetpack Compose की मदद से परफ़ॉर्मेंस को बेहतर बनाने और ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए नई गाइड तक, कम मेहनत में ज़्यादा असर डालने वाले उन सभी टूल के बारे में बताया है जिनकी मदद से, बेहतर परफ़ॉर्म करने वाला ऐप्लिकेशन बनाया जा सकता है.
यह पोस्ट, आपके इंडेक्स और रोडमैप के तौर पर काम करती है. इससे आपको इन संसाधनों को फिर से देखने में मदद मिलती है, ताकि आप जब चाहें तब ऑप्टिमाइज़ कर सकें. यहां हमारी साथ में की गई यात्रा से जुड़ी पांच मुख्य बातें दी गई हैं.
अपने ऐप्लिकेशन की स्पीड बढ़ाने के लिए, R8 ऑप्टिमाइज़र का इस्तेमाल करना
सबसे ज़्यादा असर डालने वाला और कम मेहनत वाला बदलाव यह है कि R8 ऑप्टिमाइज़र को पूरी तरह से चालू कर दिया जाए. यह सिर्फ़ ऐप्लिकेशन के साइज़ को कम नहीं करता है. यह पूरे प्रोग्राम को बेहतर बनाने के लिए, डीप ऑप्टिमाइज़ेशन करता है, ताकि आपके कोड को ज़्यादा असरदार तरीके से फिर से लिखा जा सके. Keep के नियमों को फिर से देखें और R8 को इंजीनियरिंग से जुड़े कामों में वापस लाएं.
R8 ऑप्टिमाइज़र के बारे में, अपडेट किया गया और ज़्यादा जानकारी वाला हमारा नया दस्तावेज़ आपकी मदद करेगा.
R8 के फ़ुल मोड को चालू करने के बाद, Reddit ने पाया कि कोल्ड स्टार्टअप 40% तेज़ी से हुआ और एएनआर से जुड़ी गड़बड़ियों में 30% की कमी आई.
हमारे ब्लॉग पर जाकर, पूरी केस स्टडी पढ़ी जा सकती है.
Disney+ के इंजीनियर, ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए काम कर रहे हैं. साथ ही, वे ऐप्लिकेशन के उपयोगकर्ता अनुभव को ऑप्टिमाइज़ कर रहे हैं. कभी-कभी, छोटे-छोटे बदलावों से भी काफ़ी फ़र्क़ पड़ सकता है. R8 कॉन्फ़िगरेशन की जांच करते समय टीम को पता चला कि -dontoptimize फ़्लैग का इस्तेमाल किया जा रहा है. इस फ़्लैग को हटाने के बाद, Disney+ की टीम ने देखा कि उनके ऐप्लिकेशन की परफ़ॉर्मेंस में काफ़ी सुधार हुआ है.
इसलिए, अगली बार जब कोई आपसे ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के बारे में पूछे, तो उसे इस पोस्ट का लिंक भेजें.
पहले दिन के हमारे ब्लॉग में इस बारे में ज़्यादा पढ़ें: अपने ऐप्लिकेशन को छोटा करने, ऑप्टिमाइज़ करने, और तेज़ी से ट्रैक करने के लिए R8 का इस्तेमाल करें
बेहतर परफ़ॉर्मेंस के लिए सुझाव देना
बेसलाइन प्रोफ़ाइलें, Just in Time कंपाइलेशन की ज़रूरत को खत्म कर देती हैं. इससे स्टार्टअप की स्पीड, स्क्रोलिंग, ऐनिमेशन, और रेंडरिंग की परफ़ॉर्मेंस बेहतर होती है. स्टार्टअप प्रोफ़ाइलें, आपके ऐप्लिकेशन की classes.dex फ़ाइलों को एक क्रम में व्यवस्थित करती हैं. इससे ऐप्लिकेशन का स्टार्टअप और भी ज़्यादा हल्का हो जाता है.
ऐप्लिकेशन की परफ़ॉर्मेंस के लिए बेसलाइन प्रोफ़ाइलें कितनी ज़रूरी हैं, इस बारे में ज़्यादा जानने के लिए, Meta का इंजीनियरिंग ब्लॉग पढ़ें. इसमें बताया गया है कि बेसलाइन प्रोफ़ाइलों की मदद से, उनके ऐप्लिकेशन की अलग-अलग अहम परफ़ॉर्मेंस मेट्रिक में 40%तक सुधार हुआ.
हम Jetpack Compose 1.10 में, Jetpack Compose की परफ़ॉर्मेंस को बेहतर बनाते रहेंगे. जटिल सूची आइटम के साथ काम करते समय, स्क्रोल जैंक को शून्य पर बनाए रखने के लिए, कंपोज़िशन को रोकने की सुविधा और पसंद के मुताबिक कैश विंडो जैसी सुविधाएं बहुत ज़रूरी होती हैं. #TheAndroidShow का नया एपिसोड देखें. इसमें हमने इस बारे में ज़्यादा जानकारी दी है.
ज़्यादा जानने के लिए, बुधवार का हमारा ब्लॉग पढ़ें: परफ़ॉर्मेंस से जुड़ी ज़्यादा जानकारी
परफ़ॉर्मेंस मेज़र करना, 1, 2, 3 गिनने जितना आसान हो सकता है
जिस चीज़ को मापा नहीं जा सकता उसे मैनेज नहीं किया जा सकता. हमारी परफ़ॉर्मेंस लेवलिंग गाइड में, मेज़रमेंट की प्रोसेस को पांच चरणों में बांटा गया है. इसमें आसानी से उपलब्ध डेटा से लेकर, ऐडवांस लोकल टूलिंग तक की जानकारी दी गई है.
हम लेवल 1 से शुरू करेंगे. इसमें हम आपको Android की ज़रूरी जानकारी से आसानी से उपलब्ध डेटा का इस्तेमाल करने का तरीका सिखाएंगे. इससे आपको एएनआर, क्रैश, और बैटरी के ज़्यादा इस्तेमाल से जुड़ा फ़ील्ड डेटा मिलेगा.
हम आपको लेवल अप करने का तरीका भी सिखाएंगे. उदाहरण के लिए, हम यह दिखाएंगे कि Jetpack Macrobenchmark और नए UiAutomator 2.4 API का इस्तेमाल करके, लोकल परफ़ॉर्मेंस टेस्टिंग की मदद से लेवल 3 तक कैसे पहुंचा जा सकता है . इससे आपके ऐप्लिकेशन की परफ़ॉर्मेंस में हुए किसी भी बदलाव को सटीक तरीके से मेज़र और पुष्टि की जा सकेगी.
इस बारे में ज़्यादा जानने के लिए, गुरुवार को पब्लिश हुआ हमारा ब्लॉग पढ़ें: [Link to Thursday's Blog: Leveling Guide for your Performance Journey]
परफ़ॉर्मेंस को डीबग करने की सुविधा अब और बेहतर हो गई है
ऐडवांस ऑप्टिमाइज़ेशन का मतलब यह नहीं होना चाहिए कि क्रैश रिपोर्ट को पढ़ा न जा सके. नई सुविधाओं को इस तरह से डिज़ाइन किया गया है कि आप R8 और बैकग्राउंड में होने वाले काम को आसानी से डीबग कर सकें:
Logcat को अपने-आप फिर से ट्रेस करने की सुविधा
Android Studio Narwhal से, Logcat विंडो में स्टैक ट्रेस अपने-आप डी-ऑब्फ़स्केट हो सकते हैं. इस तरह, प्रोडक्शन के लिए तैयार किए गए बिल्ड में किसी भी क्रैश को तुरंत देखा और डीबग किया जा सकता है.
डेटा को कम समय तक सेव रखने के नियम
मंगलवार को हमने रनटाइम क्रैश को ठीक करने के लिए ज़रूरी Keep Rules के बारे में बताया था. हमने वाइल्डकार्ड के बजाय, सदस्य-लेवल के खास नियम लिखने पर ज़ोर दिया था. यह एक अहम विषय है. इसलिए, हमने आपके लिए एक वीडियो भी बनाया है.
साथ ही, Android Studio Otter 3 Feature Drop में, Keep Rules के लिए नया लिंट चेक उपलब्ध है. इससे आपको इस मामले में भी मदद मिलेगी.
हमने R8 कॉन्फ़िगरेशन की जांच और समस्या हल करने के बारे में नया दिशा-निर्देश भी जारी किया है. इससे आपको कॉन्फ़िगरेशन को सही तरीके से सेट अप करने में मदद मिलेगी.
मंगलवार के हमारे ब्लॉग में इस बारे में ज़्यादा पढ़ें: R8 के कीप रूल कॉन्फ़िगर करना और उनसे जुड़ी समस्याएं हल करना
बैकग्राउंड में होने वाले काम
हमने WorkManager का इस्तेमाल करके टास्क शेड्यूल करते समय, आपको होने वाली सामान्य समस्याओं को ठीक करने के बारे में दिशा-निर्देश शेयर किए हैं.
बैकग्राउंड टास्क की जांच करने वाले टूल की मदद से, WorkManager के टास्क को विज़ुअल और ग्राफ़ के तौर पर देखा जा सकता है. इससे यह पता लगाने में मदद मिलती है कि शेड्यूल किया गया काम पूरा होने में देरी क्यों हो रही है या वह पूरा क्यों नहीं हो रहा है. इसके अलावा, बैकग्राउंड में होने वाले काम से जुड़े हमारे अपडेट किए गए दस्तावेज़ के लैंडिंग पेज पर, टास्क के हिसाब से एपीआई के बारे में हाइलाइट किया गया है. ये एपीआई, इस्तेमाल के खास उदाहरणों के लिए ऑप्टिमाइज़ किए गए हैं. इससे आपको ज़्यादा भरोसेमंद तरीके से टास्क पूरा करने में मदद मिलती है.
ज़्यादा जानने के लिए, बुधवार को पोस्ट किया गया हमारा ब्लॉग पढ़ें: बैकग्राउंड में किए जाने वाले काम की परफ़ॉर्मेंस से जुड़ी बातें
परफ़ॉर्मेंस को ऑप्टिमाइज़ करने की प्रोसेस लगातार चलती रहती है
अगर आपने इस हफ़्ते R8 के फ़ुल मोड को चालू करने का हमारा चैलेंज पूरा कर लिया है, तो आपका अगला चरण ऐप्लिकेशन की परफ़ॉर्मेंस के स्कोर का इस्तेमाल करके, परफ़ॉर्मेंस को अपने प्रॉडक्ट के रोडमैप में इंटिग्रेट करना है. इस स्टैंडर्ड फ़्रेमवर्क की मदद से, लगातार बेहतर परफ़ॉर्म करने के लिए सबसे ज़्यादा फ़ायदेमंद कार्रवाइयां की जा सकती हैं.
हमने इस हफ़्ते का समापन #AskAndroid Live सवाल-जवाब सेशन के साथ किया. इसमें इंजीनियरों ने R8, प्रोफ़ाइल गाइडेड ऑप्टिमाइज़ेशन वगैरह के बारे में आपके सबसे मुश्किल सवालों के जवाब दिए. अगर आपने इसे नहीं देखा है, तो रीप्ले देखें!
हमसे जुड़ने के लिए धन्यवाद! अब, अपने कैंपेन बनाना शुरू करें और इसी तरह आगे बढ़ते रहें.
पढ़ना जारी रखें
-
इवेंट और प्रोग्राम
हम सबसे पहले, आपके ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, एक ऐसे बदलाव के बारे में बता रहे हैं जिसे लागू करना आसान है और जिसका असर सबसे ज़्यादा होता है: R8 ऑप्टिमाइज़र को फ़ुल मोड में चालू करना.
Ben Weiss • पांच मिनट में पढ़ें
-
इवेंट और प्रोग्राम
Google I/O का शेड्यूल यहां दिया गया है!
एक मिनट में पढ़ें
-
इवेंट और प्रोग्राम
पिछले साल सितंबर में, हमने Google Play Games के भविष्य के लिए अपना विज़न शेयर किया था. यह इस बुनियादी सिद्धांत पर आधारित है: आपके गेम को सफल बनाने का सबसे अच्छा तरीका यह है कि खिलाड़ियों को बेहतरीन अनुभव दिया जाए.
Maru Ahues Bouza • तीन मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.