हमारा एप्लिकेशन बहुत सारे बिटमैप्स का उपयोग करता है। यह उदाहरण के लिए जी 1, एक्सओओएम पर ठीक काम करता है। लेकिन एचटीसी डिजायर पर आउटऑफमेमरी त्रुटि है। कोड में हम try/catch (OutOfMemoryError e) का उपयोग करते हैं और सभी डिवाइस (इच्छा को छोड़कर) अपवाद फेंक देते हैं, लेकिन एचटीसी सिर्फ ओओएम अपवाद के बिना एप्लिकेशन को मारता है। हमने बिटमैप्स के लिए मेमोरी को 12 एमबी तक सीमित कर दिया और ऐसा लगता है कि इस समाधान ने समस्या को हल किया है, लेकिन ग्राहक को अभी भी एचटीसी डिजायर एचडी पर समस्या है। 12 एमबी प्रतिबंध के साथ भी ओओएम है। (: Droid 16MB,: 24 एमबी, Xoom 48 एमबी G1): यहाँ लॉग हैंएंड्रॉइड 2. * के लिए बिटमैप के लिए कितना मुफ्त ढेर आकार उपलब्ध है यह पता लगाने के लिए कैसे?
06-07 12:03:43.978 E/dalvikvm-heap(29616):1140128-byte external allocation too large for this process.
06-07 12:03:43.978 E/dalvikvm(29616):Out of memory: Heap Size=12311KB, Allocated=9420KB, Bitmap Size=12139KB, Limit=21884KB
06-07 12:03:43.978 E/dalvikvm(29616):Trim info: Footprint=15751KB, Allowed Footprint=15751KB, Trimmed=3440KB
06-07 12:03:43.978 E/GraphicsJNI(29616):VM won't let us allocate 1140128 bytes
AFAIK उपकरणों के लिए अलग ढेर आकार सीमाओं देखते हैं। मेरी राय में सिस्टम कम से कम 16 एमबी देना चाहिए, लेकिन हमारे पास 12 एमबी के साथ ओओएम है। मेरा सवाल है: एंड्रॉइड 2. * के लिए बिटमैप के लिए कितने मुफ्त ढेर आकार उपलब्ध हैं, यह कैसे पता लगाएं? या कृपया सलाह दें कि इस तरह की समस्या को अन्य तरीकों से कैसे टालना है। एफवाईआई हम कम बिटमैप्स का उपयोग नहीं कर सकते, खासकर जब यह अन्य उपकरणों पर ठीक काम करता है। किसी भी सहायता के लिए अग्रिम रूप से धन्यवाद!
AFAIK बिटमैप्स बाहरी ढेर पर आवंटित किए जाते हैं। डुनो अगर वे विधियां आपको "सामान्य" और एप्लिकेशन के बाहरी ढेर की जानकारी देगी। यह भी देखें: [यह पोस्ट।] (Http://stackoverflow.com/questions/1945142/bitmaps-in-android) – icyerasor
वे वास्तव में देशी ढेर पर आवंटित किए जाते हैं। लेकिन कम से कम बिटमैप के प्री-हनीकॉम संस्करणों के लिए देशी बिटमैप कोड जावा कोड (पिक्सेल डेटा, सेट पिक्सेल इत्यादि के माध्यम से) से पिक्सेल डेटा से अनुरोध किए जाने पर जावा हीप (एक सरणी के रूप में) को आरक्षित करना सुनिश्चित करता है। उस मामले में जेएनआई देशी पिक्सेल डेटा पर जावा क्षेत्र में प्रतिलिपि बनाता है, इसलिए उपलब्ध जावा हीप स्पेस को भी जांचना आवश्यक है। – tiguchi