2010-05-30 8 views
6

जब मैं वेबसाइट से बड़े डेटा डाउनलोड, मैं इस त्रुटि के बारे में जानकारी मिल गया:एंड्रॉयड java.lang.OutOfMemoryError

I/global (20094): Default buffer size used in BufferedInputStream constructor. 
It would be better to be explicit if an 8k buffer is required. 
D/dalvikvm(20094): GC freed 6153 objects/3650840 bytes in 335ms 
I/dalvikvm-heap(20094): Forcing collection of SoftReferences for 3599051-byte al 
location 
D/dalvikvm(20094): GC freed 320 objects/11400 bytes in 144ms 
E/dalvikvm-heap(20094): Out of memory on a 3599051-byte allocation. 
I/dalvikvm(20094): "Thread-9" prio=5 tid=17 RUNNABLE 
I/dalvikvm(20094): | group="main" sCount=0 dsCount=0 s=0 obj=0x439b9480 
I/dalvikvm(20094): | sysTid=25762 nice=0 sched=0/0 handle=4065496 

किसी को भी मेरी मदद कर सकते?

+0

यह स्मृति से बाहर चला जाता है, जाहिर है ... आपको वास्तव में क्या मदद चाहिए? – flodin

+2

कम से कम पूर्ण स्टैकट्रैक और कुछ संदर्भ जानकारी प्रदान करें कि आप डेटा कैसे डाउनलोड करते हैं (देखें, त्रुटि संदेश BufferedInputStream के बारे में बोलता है) –

उत्तर

1

व्यक्तिगत ऐप्स के पास सभी उपलब्ध डिवाइस मेमोरी तक पहुंच नहीं है। यदि आप एक बड़े डेटा सेट को डाउनलोड कर रहे हैं तो इसे एसडी कार्ड पर लिखने पर विचार करें क्योंकि आप पूरी तरह से स्मृति में इसे पकड़ने की कोशिश करने के बजाय जाते हैं।

+4

आउटऑफमेमरी अपवादों को आमतौर पर डिस्क मेमोरी लेकिन हीप या मेमोरी/रैम के साथ नहीं करना पड़ता है। (http://java.sun.com/j2se/1.4.2/docs/api/java/lang/OutOfMemoryError.html देखें) –

+0

हाय, एडैम्प, मैं एसडीकार्ड के लिए wirte था, लेकिन यह अभी भी OutOfMemory है। क्या आप मुझे बता सकते हैं कि ड्रायरेबल रीसायकल कैसे करें? – androiddream

+0

@ टोनी: आप अक्सर स्थानीय स्टोरेज में या स्थानीय परिस्थितियों से डेटा में डेटा को संसाधित कर सकते हैं जहां पूरे डेटा सेट को स्मृति में लोड करने का प्रयास ओओएम में होता है। @xiangdream: यदि आपका बड़ा डेटा ड्रॉबल्स (बिटमैप ड्रावेबल्स?) के रूप में छवियां हैं, तो बिटमैप फैक्ट्री डिकोडिंग विधियों और बिटमैप फैक्टरी.ऑप्शन के इन नमूना आकार फ़ील्ड पर नज़र डालें। स्मृति को सहेजने के लिए इसे लोड करते समय आप छवि को छोटे आकार में दोहरा सकते हैं। http://developer.android.com/reference/android/graphics/BitmapFactory.html आप जो करने का प्रयास कर रहे हैं उसके बारे में कुछ और जानकारी उपयोगी होगी। :) – adamp