दिलचस्प पोस्ट
एक java.util.Calendar / Date के लिए TIMEZONE को बदलने के लिए जावास्क्रिप्ट / जेक्जरी का उपयोग करते हुए वर्ग नाम के आधार पर डीआईवी का क्रम XCode इंटरफ़ेस बिल्डर में अजीब रंग? सीएपीआईसीओएम के बिना एफ़आईई – सी + + पर प्रामाणिकोड हस्ताक्षर मान्य करें java.io.FileNotFoundException जब अपलोड किए गए फ़ाइल को डिस्क पर getRealPath () के माध्यम से लिखते समय अंतर्निहित तत्वों के लिए एक DIV के माध्यम से क्लिक करें पृष्ठभूमि रंग पॉपअप मेनू एंड्रॉइड कैसे बदलूंगा तालिका के अंदर "शब्द-लपेटो: ब्रेक-शब्द" का उपयोग करना Vbscript में utf-8 पाठ फ़ाइल पढ़ें एक पीडीएफ फाइल से सामग्री की एक तालिका बनाएँ उद्देश्य-सी में स्थिर आपकी पसंदीदा सी ++ कोडिंग स्टाइल मुहावरे क्या हैं डी 3 चार्ट में लेबल में मैं न्यूलाइन कैसे शामिल करूं? डुप्लिकेट कुंजी पर MySQL – अंतिम प्रविष्टि आईडी? कैसे बाट स्क्रिप्ट का उपयोग कर सभी git शाखाओं के माध्यम से पुनरावृत्त करें

बिटमैप आकार Vm बजट त्रुटि Android से अधिक है

जब मैं लैंडस्केप मोड में बदलता हूं, तो कुछ ऑब्जेक्ट पूर्ण स्क्रीन के बिटमैप के साथ बनाए जाते हैं।

जब मैं दूसरी ऑब्जेक्ट को स्क्रॉल करता हूं और उसका बिटमैप प्रदर्शित होता है, जब मैं बार-बार ऐसा करता हूं, बिटमैप का आकार vm बजट त्रुटि से अधिक होता है, मैंने recycle() , नल सेट और फिर GC() कहा जाता है, फिर भी मेरे पास है एक ही त्रुटि बिटमैप बना रहा है ….

  bitmap = Bitmap.createBitmap(ChartProperties.getChartWidth(), ChartProperties.getChartHeight(), Bitmap.Config.RGB_565); imageCache.put(String.valueOf(LandscapeChartActivity.getActiveFeature()), new SoftReference(bitmap)); if(imageCache != null){ for (int i = 0; i < imageCache.size(); i++) { if (imageCache.get(String.valueOf(i)) != null) { imageCache.get(String.valueOf(i)).get().recycle(); imageCache.put(String.valueOf(i), null); } } Runtime.getRuntime().gc(); imageCache.clear(); imageCache = null; 

Solutions Collecting From Web of "बिटमैप आकार Vm बजट त्रुटि Android से अधिक है"

बिटमैप की वजह से मुझे भी यही समस्या थी IOME

जब पोर्ट्रेट से लेकर लैंडस्केप तक की ओर उन्मुखीकरण बदलता है, तो पिछले यूआई को पूरी तरह से खारिज किया जाता है, और एक नया यूआई लोड होता है और प्रदर्शित होता है, इस मामले में यदि आप अपने ऐप में कई बिटमैप का प्रयोग कर रहे हैं, तो आपको उन्हें उचित स्थानों पर रिहा कराना होगा।

अपने डिवाइस की ओरिएंटेशन की जांच करने के लिए, कृपया इसे देखें: एंड्रॉइड फोन पर अभिविन्यास की जांच करें

आपके मामले में, आपको अभिविन्यास परिवर्तन के दौरान बिटमैप को साफ़ करना होगा।

ऊपर दिए गए लिंक पर आप पा सकते हैं, वर्तमान अभिविन्यास कैसे प्राप्त करें इसलिए प्रत्येक अभिविन्यास परिवर्तन पर, अपने उपरोक्त कोड को कॉल करें जो बिटमैप को साफ करता है।

अब, जब हम लॉककैट की जांच करते हैं, तो हमेशा कोई लॉग होता है जो जीसी_ कह रहा है, लेकिन मुझे यह समझ नहीं आ रहा था, इसलिए मुझे मेमोरी रिसाव मुद्दे पर एक अद्भुत डॉक्टर मिला: http://codelog.dexetra.com/getting-around- android-स्मृति-ब्लूज़

उपरोक्त लिंक आपकी समस्या के लिए बहुत उपयोगी है।

अब, ओओएमई तब होता है जब आपके ऐप में मेमोरी रिसाव होता है, इसलिए यह जांचने के लिए, कृपया मैट को एक्लिप्स से स्थापित करें। आप इसे यहां प्राप्त कर सकते हैं: http://www.eclipse.org/mat/downloads.php

यह थोड़ा जटिल सॉफ़्टवेयर है लेकिन जैसा कि आप इसके माध्यम से जाते हैं, आप समझेंगे, इसका बहुत उपयोगी सॉफ्टवेयर

यहां तक ​​कि अगर यह आपकी समस्या को हल नहीं करता है, तो बिटमैप के लिए WeakReference उपयोग करें।

कृपया इस लिंक को देखें: जावा और एंड्रॉइड डेवलपमेंट में वीक रेफरेंस का उपयोग कैसे करें?

अगर मुझे कुछ और जानकारी मिलती है, तो मैं इस पोस्ट को अपडेट करूँगा।

कृपया अपनी पोस्ट को अपडेट करें, अगर आपको आपकी समस्या का समाधान मिल जाएगा।

धन्यवाद 🙂