यहां दिए गए पेजों पर, ऐप्लिकेशन में मेमोरी के इस्तेमाल को बेहतर बनाने के बारे में जानकारी दी गई है.
मेमोरी के बारे में सामान्य दिशा-निर्देश
- मेमोरी की खास जानकारी
- इसमें Android की मेमोरी के मुख्य आर्किटेक्चर, रैम की सीमाओं, और ऑपरेटिंग सिस्टम के Low Memory Killer (एलएमके) का इस्तेमाल करके प्रोसेस को बैलेंस करने के तरीके के बारे में बताया गया है.
- मेमोरी मैनेजमेंट
- इसमें कॉम्पोनेंट के लाइफ़साइकल के दौरान, संसाधनों को रिलीज़ करने, मेमोरी लीक से बचने, और प्रोसेस की स्थितियों के बीच ट्रांज़िशन करते समय मेमोरी को मैनेज करने के लिए, डेवलपर के सबसे सही तरीके बताए गए हैं.
- Android डिवाइस की मेमोरी के बारे में जानकारी और उससे जुड़ी समस्या हल करना
- इसमें Android की मेमोरी आर्किटेक्चर के बारे में पूरी जानकारी दी गई है. साथ ही, विश्लेषण के लिए उपलब्ध टूल और मेमोरी से जुड़ी समस्याओं का पता लगाने और उन्हें हल करने में आपकी मदद करने के लिए, प्रैक्टिकल एक्सरसाइज़ दी गई हैं.
- ऐप्लिकेशन के लिए मेमोरी बजट सेट करना
- इसमें ऐप्लिकेशन की मेमोरी के बजट का एलान करने और उन्हें मैनेज करने का तरीका बताया गया है, ताकि मेमोरी के इस्तेमाल को आपके ऐप्लिकेशन के ऐक्टिव वर्किंग सेट तक कम किया जा सके.
इलाके के हिसाब से ऑप्टिमाइज़ेशन
- गेम की मेमोरी के बारे में खास जानकारी
- इसमें मेमोरी बजटिंग, नेटिव ऐलोकेशन को मैनेज करने, और ग्राफ़िक ऐसेट को मैनेज करने के बारे में जानकारी दी गई है. यह जानकारी खास तौर पर, गेम इंजन का इस्तेमाल करने वाले ऐप्लिकेशन के लिए तैयार की गई है.
- बिटमैप इमेज को ऑप्टिमाइज़ करना
- इस कोड से पता चलता है कि इमेज लाइब्रेरी में बिटमैप ऐसेट को बेहतर तरीके से साइज़, डिकोड, और कैश मेमोरी में कैसे सेव किया जाता है.
- WebView की मेमोरी को मैनेज करना और उसकी जांच करना
- इसमें WebView के मल्टी-प्रोसेस मेमोरी मॉडल के बारे में बताया गया है. साथ ही, मेमोरी लीक को रोकने के लिए, इसके लाइफ़साइकल को सही तरीके से मैनेज करने का तरीका बताया गया है. इसमें मेमोरी से जुड़ी समस्याओं का पता लगाने के लिए, काम के वर्कफ़्लो दिए गए हैं.
- R8 कोड ऑप्टिमाइज़ेशन
- इसमें बताया गया है कि APK का साइज़, मेटाडेटा ओवरहेड, और रनटाइम मेमोरी की खपत को कम करने के लिए R8 का इस्तेमाल कैसे करें.
लोकल मेमोरी को डीबग करने वाले टूल
- Android Studio के टूल
- यह आईडीई में सीधे तौर पर, रीयल-टाइम में हीप की जांच करने, मेमोरी के बंटवारे को ट्रैक करने, और लीक का पता लगाने के वर्कफ़्लो उपलब्ध कराता है.
- Perfetto Heap Dump Explorer
- यह नेटिव और Java या Kotlin हीप डंप का विज़ुअल विश्लेषण करता है, ताकि बनाए रखे गए ऑब्जेक्ट ट्री और बिना सोर्स फ़ाइल वाली मेमोरी के बंटवारे को अलग किया जा सके.
- डिवाइस पर सिस्टम ट्रेस कैप्चर करना
- इसमें दिखाया गया है कि डिवाइस पर सिस्टम-लेवल के ट्रेस कैसे रिकॉर्ड किए जाते हैं, ताकि आपके ऐप्लिकेशन में परफ़ॉर्मेंस से जुड़े बग ठीक किए जा सकें.
- Android पर मेमोरी के इस्तेमाल को डीबग करना
- इस कोर्स में, Linux में मेमोरी मैनेजमेंट को समझने का तरीका बताया गया है. साथ ही, मेमोरी के इस्तेमाल को ट्रैक करने और मेमोरी लीक का पता लगाने के लिए,
dumpsys meminfo, Perfetto, नेटिव हीप प्रोफ़ाइल, और हीप डंप जैसे टूल इस्तेमाल करने का तरीका बताया गया है.
प्रोडक्शन-लेवल के मेमोरी टूल
- Android की ज़रूरी जानकारी: मेमोरी का इस्तेमाल (बिना सोर्स फ़ाइल वाली आरएसएस मेमोरी और स्वैप मेमोरी)
- Android की ज़रूरी जानकारी आपके ऐप्लिकेशन के प्रोडक्शन वर्शन में मेमोरी के इस्तेमाल की जानकारी शेयर करती है. इसे प्रोसेस की स्थितियों के हिसाब से बांटा जाता है: फ़ोरग्राउंड, फ़ोरग्राउंड सेवा, और बैकग्राउंड में चलने वाली सेवा.
- Android की ज़रूरी जानकारी: बिटमैप के लिए मेमोरी का इस्तेमाल
- Android की ज़रूरी जानकारी देने वाली सुविधा, Android डिवाइसों से डेटा इकट्ठा करके, किसी ऐप्लिकेशन की बिटमैप मेमोरी के फ़ुटप्रिंट के बारे में मेट्रिक उपलब्ध कराती है.
- Android की ज़रूरी जानकारी: DEX कोड ऑप्टिमाइज़ेशन
- Android की ज़रूरी जानकारी की मदद से, आपको सूचना मिल सकती है. ऐसा तब होता है, जब आपके ऐप्लिकेशन के DEX कोड ऑप्टिमाइज़ेशन का लेवल कम होता है. इसमें R8 का इस्तेमाल करने वाले ऐप्लिकेशन और गेम के लिए, कोड को उलझाना, कोड को छोटा करना, और ऑप्टिमाइज़ करना शामिल है.
- Crashlytics 20.1.0
- यह प्रोडक्शन आउट-ऑफ़-मेमोरी (ओओएम) अपवादों और मेमोरी लिमिटर को बंद करने की जानकारी दिखाता है. इससे फ़ील्ड क्रैश को ठीक करने और उन्हें प्राथमिकता देने में मदद मिलती है.
- ProfilingManager
- यह एक ऐडवांस एपीआई है. इसकी मदद से ऐप्लिकेशन, लाइव उपयोगकर्ता सेशन से प्रोडक्शन हीप डंप और हीप प्रोफ़ाइलें प्रोग्राम के हिसाब से इकट्ठा और अपलोड कर सकते हैं.
अन्य संसाधन
मेमोरी के बारे में ज़्यादा जानने के लिए, यहां दिए गए अन्य संसाधन देखें:
ब्लॉग पोस्ट
- ज़्यादा मेमोरी लिमिट के लिए अपने ऐप्लिकेशन को तैयार करना
- मेमोरी को ज़्यादा असरदार तरीके से इस्तेमाल करना: Android 17 के लिए ज़रूरी चरण