বিভিন্ন উৎস থেকে একটি Bitmap তৈরী করার জন্য BitmapFactory ক্লাস কিছু ডিকোডিং মেথড (decodeByteArray(), decodeFile(), decodeResource()ইত্যাদী) সরবরাহ করে। আপনার ইমেজ ডাটা সোর্সের উপর ভিত্তি করে সবচেয়ে উপযুক্ত মেথড পছন্দ করুন। এই মেথডগুলো গঠন হওয়া বিটম্যাপের জন্য মেমরী বরাদ্দের পদক্ষেপ নেয় এবং সহজেই একটি OutOfMemory এক্সেপশনের মধ্যে ফলাফল নিয়ে আসে। ডিকোডের প্রতিটা ধরনের অতিরিক্ত সিগনেচার থাকে যা আপনাকে BitmapFactory.Options ক্লাসের মধ্য দিয়ে ডিকোডিং অপশন নির্দিষ্ট করতে দেয়। true এ inJustDecodeBounds প্রপার্টি সেট করা যখন ডিকোডিং মেমরী বরাদ্দ (এলোকেশন) পরিহার করে, বিটম্যাপ অবজেক্টের জন্য হঁষষ ফেরত আনে কিন্তু outWidth, outHeight এবং outMimeType সেট করে। এই কৌশল বিটম্যাপের নির্মানের (এবং মেমরী এলোকেশন) পূর্বে আপনাকে ইমেজ ডাটার ডাইমেনশন এবং টাইপ পড়তে দেয়
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String imageType = options.outMimeType;
java.lang.OutOfMemory এক্সেপশন পরিহার করতে, ডিকোড করার পূর্বে একটি বিটম্যাপের ডাইমেনশন চেক করুন, যদি না আপনি সম্পূর্ণভাবে সোর্সকে বিশ্বাস করেন যা আপনাকে অনুমিত সাইজের ইমেজ ডাটা যা সহজেই বিদ্যমান মেমরীতে ফিট করবে তা প্রদান করতে।