यहां दिए गए पेजों पर, ऐप्लिकेशन में मेमोरी के इस्तेमाल को बेहतर बनाने के बारे में जानकारी दी गई है.
मेमोरी के बारे में सामान्य दिशा-निर्देश
- मेमोरी की खास जानकारी
- इसमें 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 डिवाइसों से डेटा इकट्ठा करके, किसी ऐप्लिकेशन की बिटमैप मेमोरी के फ़ुटप्रिंट के बारे में मेट्रिक उपलब्ध कराती है.
- Crashlytics 20.1.0
- यह प्रोडक्शन में मेमोरी से जुड़ी समस्याओं और मेमोरी लिमिटर की वजह से बंद होने वाली प्रोसेस के बारे में बताता है. साथ ही, गड़बड़ी की वजह का पता लगाने से जुड़ी जानकारी भी देता है, ताकि फ़ील्ड क्रैश को ठीक करने और उन्हें प्राथमिकता देने में मदद मिल सके.
- ProfilingManager
- यह एक ऐडवांस एपीआई है. इसकी मदद से ऐप्लिकेशन, लाइव यूज़र सेशन से प्रोग्राम के हिसाब से प्रोडक्शन हीप डंप और हीप प्रोफ़ाइलें इकट्ठा और अपलोड कर सकते हैं.
अन्य संसाधन
मेमोरी के बारे में ज़्यादा जानने के लिए, यहां दिए गए अन्य संसाधन देखें:
ब्लॉग पोस्ट
- अपने ऐप्लिकेशन को ज़्यादा मेमोरी सीमा के लिए तैयार करना
- मेमोरी के इस्तेमाल को कम करना: Android 17 के लिए ज़रूरी चरण