I have a ViewPager with a Fragment coming from a PagerAdapter. The Fragment has 4 ImageViews which I want to set their backgrounds with images located in my Drawable folder.   The drawables are about 80dp with size about 30kb each. I used the following to populate my ImageViews, where MyIMGS is an array of ImageViews.
switch (Mynum)
{
case 0: 
    int Array1[] = args.getIntArray("Array_A");
    for(int i=0;i<Array1.length;i++)
    {
        MyIMGS[i].setBackgroundResource(Array1[i]);
    }
    break;
case 1:
    int Array2[] = args.getIntArray("Array_A");
    for(int i=0;i<Array2.length;i++)
    {
        MyIMGS[i].setBackgroundResource(Array2[i]);
    }
    break;
    }
The First Problem is that after an intensive back and forth with back pressed a nice message outofMemory is displayed after a while. I tried the following solution
private static Bitmap decodeResource(Resources res, int resId ,int reqWidth,int reqHeight)
{
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(res, resId, options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeResource(res, resId, options);
}
And
IMGS[i].setImageBitmap(decodeResource(getResources(), Array1[i], 100, 100));
By using the above the NEW problem is that my 20 images from Drawable folder are displayed one on top of another on the 4 imageviews. Its like the For Loop is executed not for the MyIMGS array but and for each element separately!?. My Questions are : For such small files do I need the decode Resource, and If yes why Images are displayed in such a way.
                        
I suspect the array elements of MyIMGS is an ImageView defined in the same location. Perhaps you should post the code for MyIMGS and its layout xml file.