অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিতে মেমরির বাইরে খুব সাধারণ যদি আমরা বিটম্যাপটি সঠিকভাবে পরিচালনা না করি তবে সমস্যার সমাধান হবে
if(imageBitmap != null) {
imageBitmap.recycle();
imageBitmap = null;
}
System.gc();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 3;
imageBitmap = BitmapFactory.decodeFile(URI, options);
Bitmap scaledBitmap = Bitmap.createScaledBitmap(imageBitmap, 200, 200, true);
imageView.setImageBitmap(scaledBitmap);
উপরের কোডটিতে সবেমাত্র বিটম্যাপটিকে পুনর্ব্যবহার করার চেষ্টা করেছেন যা আপনাকে ব্যবহৃত মেমরির স্থানটি মুক্ত করার অনুমতি দেয়, সুতরাং স্মৃতি থেকে বেরিয়ে না আসতে পারে I আমি চেষ্টা করেছি এটি আমার জন্য কাজ করেছে।
এখনও যদি সমস্যার মুখোমুখি হন তবে আপনি এই লাইনটিও যুক্ত করতে পারেন
BitmapFactory.Options options = new BitmapFactory.Options();
options.inTempStorage = new byte[16*1024];
options.inPurgeable = true;
আরও তথ্যের জন্য এই লিঙ্কটি একবার দেখুন
https://web.archive.org/web/20140514092802/http://voices.yahoo.com/android-virtual-machine-vm-out-memory-error-7342266.html?cat=59
উল্লেখ্য: দরুন ক্ষণস্থায়ী "বিরতি দিন" জিসি সম্পাদন দ্বারা সৃষ্ট, এটা হয় না আগে এই কাজ করতে সুপারিশ প্রতিটি বিটম্যাপ বরাদ্দ।
সর্বোত্তম নকশাটি হ'ল:
সমস্ত বিটম্যাপগুলি ফ্রি করুন যা এখন আর প্রয়োজন নেই , if / recycle / null
দেখানো কোড দিয়ে। (এটিতে সহায়তা করার জন্য একটি পদ্ধতি তৈরি করুন))
System.gc();
নতুন বিটম্যাপগুলি বরাদ্দ করুন।