मेरे पास एक बहुत ही सरल एंड्रॉइड एप्लिकेशन है जिसमें कुछ टेक्स्ट बॉक्स और प्रोसेसिंग कोड के साथ एक ही गतिविधि शामिल है।मेरा एंड्रॉइड ऐप अलग-अलग ओएस संस्करणों पर स्मृति की काफी अलग मात्रा आवंटित क्यों करता है?
जब मैं इसे 2.3 डिवाइस पर स्थापित करता हूं और इसे पहली बार खोलता हूं, तो यह ~ 2.7 एमबी मेमोरी आवंटित करता है (एक्लिप्स डीडीएमएस में हीप अपडेट टैब के अनुसार)।
3.1 डिवाइस पर, यह ~ 6.1MB आवंटित करता है।
4.0 डिवाइस पर, यह ~ 13.8MB आवंटित करता है।
मैंने 3 के बीच कोई कोड परिवर्तन नहीं किया है, और इन उपायों को एप्लिकेशन के आरंभिक इंस्टॉल/खोलने पर लिया गया था (इसलिए इसमें कोई लीक करने का समय नहीं है)। यह कोई छवियों का उपयोग नहीं करता है, और विशेष रूप से हार्डवेयर त्वरण सक्षम नहीं है।
क्या किसी को पता है कि पैरों के निशान इतने अलग क्यों हो सकते हैं? मुझे लगता है कि इसे ओएस संस्करणों में मतभेदों के साथ करना है, लेकिन मुझे आश्चर्य है कि क्या कोई जानता है कि ये मतभेद क्या हो सकते हैं।
मैंने 3.0 से आगे बिटमैप आवंटन में परिवर्तन के बारे में पढ़ा है जिससे आवंटित स्मृति में स्पष्ट वृद्धि हुई है, लेकिन मेरा एप्लिकेशन किसी भी छवियों का उपयोग नहीं करता है। इसमें केवल कुछ संपादन टेक्स्ट फ़ील्ड और टेक्स्ट व्यू शामिल हैं।
क्या आप विवरण प्राप्त करने और आवंटन की तुलना करने के लिए मेमोरी विश्लेषक का उपयोग कर सकते हैं? – Asahi