इस सेक्शन में दिए गए निर्देशों का पालन करके, यह पक्का करें कि आपके Android डिवाइसों में संसाधनों का इस्तेमाल कम हो और परफ़ॉर्मेंस बेहतर हो. Android का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, परफ़ॉर्मेंस का आकलन करना सेक्शन में बताए गए कई टेस्ट और टूल का इस्तेमाल करें.
APK को कैश मेमोरी में सेव करना
इस दस्तावेज़ में, APK कैश मेमोरी में सेव करने के समाधान के डिज़ाइन के बारे में बताया गया है. इससे, A/B पार्टीशन की सुविधा वाले डिवाइस पर पहले से लोड किए गए ऐप्लिकेशन को तेज़ी से इंस्टॉल किया जा सकता है. OEM, नए A/B-पार्टिशन वाले डिवाइसों पर, प्रीलोड और लोकप्रिय ऐप्लिकेशन को APK कैश में रख सकते हैं. यह कैश, ज़्यादातर खाली B पार्टिशन में सेव होता है. इससे, उपयोगकर्ता के डेटा स्पेस पर कोई असर नहीं पड़ता.
बूट होने में लगने वाला समय
Android 8.0 में, कई कॉम्पोनेंट में सुधार किए गए हैं. इससे बूट होने में कम समय लगता है. इस दस्तावेज़ में, Android के कुछ डिवाइसों के बूट होने में लगने वाले समय को कम करने के लिए, पार्टनर को दिशा-निर्देश दिए गए हैं.
स्वास्थ्य
Android 9 में android.hardware.health HAL 2.0 शामिल है. यह health@1.0 HAL का मेजर वर्शन अपग्रेड है. इस नए HAL की मदद से, फ़्रेमवर्क और वेंडर कोड को अलग-अलग किया जा सकता है. साथ ही, वेंडर को स्वास्थ्य से जुड़ी जानकारी की रिपोर्ट को अपनी पसंद के मुताबिक बनाने की ज़्यादा आज़ादी मिलती है. इसके अलावा, इसमें बैटरी के अलावा डिवाइस की स्थिति से जुड़ी ज़्यादा जानकारी भी मिलती है.
मेमोरी कम होने पर प्रोसेस बंद करने वाला सिस्टम
उपयोगकर्ता स्पेस lmkd प्रोसेस, इसी फ़ंक्शन को लागू करती है. हालांकि, यह पहले से मौजूद कर्नल मेकेनिज़्म के साथ काम करती है, ताकि मेमोरी के इस्तेमाल का पता लगाया जा सके और उसका अनुमान लगाया जा सके. यह मेमोरी प्रेशर लेवल के बारे में सूचनाएं पाने के लिए, कर्नल से जनरेट होने वाले vmpressure इवेंट का इस्तेमाल करता है.
प्रोफ़ाइल-गाइडेड ऑप्टिमाइज़ेशन
Android बिल्ड सिस्टम, उन नेटिव Android मॉड्यूल पर Clang के प्रोफ़ाइल-गाइडेड ऑप्टिमाइज़ेशन (पीजीओ) का इस्तेमाल करने की सुविधा देता है जिनमें ब्लूप्रिंट बिल्ड के नियम होते हैं.
R8 कोड और संसाधन ऑप्टिमाइज़ेशन
Android बिल्ड सिस्टम, R8 कंपाइलर का इस्तेमाल करता है. इससे DEX टारगेट (android_app, android_test, और इंस्टॉल किए जा सकने वाले java_library मॉड्यूल) से, इस्तेमाल न किए गए कोड और संसाधनों को छोटा किया जा सकता है, उन्हें ऑप्टिमाइज़ किया जा सकता है, और हटाया जा सकता है. स्टैटिक लाइब्रेरी (android_library और स्टैटिक java_library) पर, Soong, optimize ब्लॉक का इस्तेमाल करके, उपभोक्ता के लिए बनाए गए नियमों को अटैच और एक्सपोर्ट करता है.
R8 ऑप्टिमाइज़ेशन और कीप रूल को कॉन्फ़िगर करने के बारे में ज़्यादा जानकारी के लिए, R8 की मदद से प्लैटफ़ॉर्म कोड और संसाधनों को ऑप्टिमाइज़ करना लेख पढ़ें.
टास्क के स्नैपशॉट
टास्क स्नैपशॉट, Android 8.0 में पेश किया गया एक इन्फ़्रास्ट्रक्चर है. यह हाल ही में इस्तेमाल किए गए ऐप्लिकेशन के थंबनेल के साथ-साथ Window Manager से सेव किए गए सर्फ़ेस के स्क्रीनशॉट को एक साथ दिखाता है. 'हाल ही के' व्यू में मौजूद थंबनेल, टास्क की मौजूदा स्थिति दिखाते हैं.
राइट-अहेड लॉगिंग
Android 9 में, SQLiteDatabase का एक खास मोड पेश किया गया है. इसे कंपैटिबिलिटी WAL (राइट-अहेड लॉगिंग) कहा जाता है. इसकी मदद से, डेटाबेस journal_mode=WAL का इस्तेमाल कर सकता है. साथ ही, यह भी पक्का किया जा सकता है कि हर डेटाबेस के लिए ज़्यादा से ज़्यादा एक कनेक्शन हो.
एनपीयू मैनेजर
Android 17 और इसके बाद के वर्शन में, न्यूरल प्रोसेसिंग यूनिट (एनपीयू) मैनेजर की सुविधा काम करती है. यह सुविधा, संसाधनों के बंटवारे को मैनेज करती है, वर्कलोड को प्राथमिकता देती है, और एक्ज़ीक्यूशन की स्थिति को ट्रैक करती है. इससे सिस्टम की स्थिरता बनाए रखने और डिवाइस की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने में मदद मिलती है.