मुझे एक बहुत ही अजीब समस्या दिखाई दे रही है। अनिवार्य रूप से कभी-कभी बड़े बिटमैप मेमोरी आवंटन असफल हो जाते हैं, भले ही स्मृति की काफी मात्रा हो। ऐसी कई पोस्टें हैं जो समान प्रश्न पूछने लगती हैं लेकिन वे सभी प्री-हनीकॉम एंड्रॉइड से संबंधित हैं। मेरी समझ यह है कि कुछ बाहरी स्मृति के बजाय छवियों को ढेर पर आवंटित किया जाता है। वैसे भी, कृपया नीचे इस लॉग को देखें:आउटऑफ मेमरी त्रुटि हालांकि मुफ्त मेमोरी उपलब्ध है
10-14 13:43:53.020: INFO/dalvikvm-heap(31533): Grow heap (frag case) to 40.637MB for 942134-byte allocation
10-14 13:43:53.070: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 126K, 11% free 41399K/46343K, paused 31ms
10-14 13:43:53.130: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 920K, 13% free 40478K/46343K, paused 30ms
10-14 13:43:53.180: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 1026K, 13% free 40479K/46343K, paused 30ms
10-14 13:43:53.250: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 931K, 12% free 41193K/46343K, paused 31ms
10-14 13:43:53.250: INFO/dalvikvm-heap(31533): Grow heap (frag case) to 41.313MB for 1048592-byte allocation
10-14 13:43:53.280: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed <1K, 11% free 42217K/47431K, paused 31ms
10-14 13:44:01.520: DEBUG/dalvikvm(31533): GC_CONCURRENT freed 3493K, 15% free 40646K/47431K, paused 3ms+9ms
10-14 13:44:08.130: DEBUG/dalvikvm(31533): GC_EXPLICIT freed 16461K, 47% free 25527K/47431K, paused 3ms+6ms
10-14 13:44:09.150: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 1007K, 45% free 26191K/47431K, paused 35ms
10-14 13:44:09.160: INFO/dalvikvm-heap(31533): Grow heap (frag case) to 29.334MB for 3850256-byte allocation
10-14 13:44:09.200: DEBUG/dalvikvm(31533): GC_CONCURRENT freed 0K, 37% free 29951K/47431K, paused 2ms+4ms
10-14 13:44:11.970: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 1878K, 38% free 29784K/47431K, paused 37ms
10-14 13:44:12.410: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed 62K, 36% free 30441K/47431K, paused 32ms
10-14 13:44:12.440: DEBUG/dalvikvm(31533): GC_FOR_ALLOC freed <1K, 32% free 32325K/47431K, paused 32ms
10-14 13:44:12.440: INFO/dalvikvm-heap(31533): Forcing collection of SoftReferences for 3850256-byte allocation
10-14 13:44:12.480: DEBUG/dalvikvm(31533): GC_BEFORE_OOM freed 124K, 33% free 32200K/47431K, paused 37ms
10-14 13:44:12.480: ERROR/dalvikvm-heap(31533): Out of memory on a 3850256-byte allocation.
मैं बहुत लॉगिंग सहित क्षमा चाहता हूं, मुझे उम्मीद है कि यह प्रासंगिक है। जिस तरह से मैंने इसे पढ़ा है वह यह है कि सिस्टम अंततः ढेर आकार को तब तक समायोजित करता है जब तक कि अंततः ढेर अधिकतम तक पहुंच न जाए। फिर, हम एक विशेष रूप से बड़े आवंटन का अनुरोध करते हैं जो विफल रहता है। स्पष्ट रूप से पर्याप्त स्मृति उपलब्ध है (लगभग 15 मेगापिक्सल)। क्या इसका मतलब यह है कि ढेर आंतरिक रूप से खंडित है और हमारे आवंटन को संभालने के लिए पर्याप्त कोई संगत स्मृति खंड नहीं हैं? अगर ऐसा है तो मुझे क्या करना चाहिए? अगर ऐसा नहीं है, तो क्या?
अग्रिम धन्यवाद।
आप softreferences का उपयोग कर रहे हैं? – Raunak
सीधे नहीं, हालांकि तीसरी आखिरी पंक्ति सॉफ्ट रेफरेंस के बारे में कुछ कहती है। मैं एक Google-संग्रह आधारित कैश का उपयोग कर रहा हूं जो जहां तक मुझे पता है वीक रेफरेंस का उपयोग करता है। – EightyEight
मुझे ओएस 4.1.2 पर एक एस 3 पर एक ही समस्या दिखाई दे रही है, जाहिर है कि यहां तक कि और भी अधिक मुफ्त मेमोरी उपलब्ध है: 10-02 14: 28: 22.458 5333 9044 डी दल्विकविक: जीसीबीईईएफटीओओओएम 0K, 54% मुक्त 30274 के/65543 के, 120ms रुका हुआ है, कुल 120ms –