You should look into the configuration of the bitmap into which you decode your images. I do not know specifically what the configuration files mean, but for example you can decode in ARGB_8888 or just RGB_565. RGB_565 uses less memory, apparently because it does not have an alpha (transparency) channel and uses fewer bits for each color. In your case, what probably happens is that simple images are decoded in RGB_565, while more complex ones were decoded in ARGB_8888.
The configuration change method is used when decoding your image files as follows:
BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = Bitmap.Config.RGB_565; Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon, options);
Experiment with this and see if that helps. It certainly helped me in my game.
source share