সীমিত আকারের মেমরীতে বহুমুখি ইমেজ ব্যবস্পনা জটিল হতে পারে। আপনি যদি দেখেন যে আপনার অ্যাপলিকেশন অল্প কিছু ছবি দেখিয়েই মেমরী শেষ করে ফেলে, আপনি নাটকীয়ভাবে একটি মেমরী বিন্যাসের মধ্যে বর্ধিত করার দ্বারা ব্যবহৃত ডায়নামিক হিপ গুলো কমিয়ে ফেলতে পারেন যা ইতিমধ্যে গন্তব্য ভিউ এর সাইজের সাথে ম্যাচ করানোর জন্য মাপা হয়েছে। নিম্নোক্ত উদাহরণ মেথড এই কৌশল দেখায়।
private void setPic() {
// Get the dimensions of the View
int targetW = mImageView.getWidth();
int targetH = mImageView.getHeight();
// Get the dimensions of the bitmap
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inJustDecodeBounds = true;
BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
int photoW = bmOptions.outWidth;
int photoH = bmOptions.outHeight;
// Determine how much to scale down the image
int scaleFactor = Math.min(photoW/targetW, photoH/targetH);
// Decode the image file into a Bitmap sized to fill the View
bmOptions.inJustDecodeBounds = false;
bmOptions.inSampleSize = scaleFactor;
bmOptions.inPurgeable = true;
Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath, bmOptions);
mImageView.setImageBitmap(bitmap);
}