Вам следует изучить конфигурацию растрового изображения, в которую вы декодируете свои изображения. Я не знаю точно, что означают файлы конфигурации, но, например, вы можете декодировать в ARGB_8888 или просто RGB_565. RGB_565 использует меньше памяти, предположительно потому, что не имеет альфа-канала (прозрачности) и использует меньше битов для каждого цвета. В вашем случае, вероятно, происходит то, что простые изображения декодируются в RGB_565, а более сложные - ARGB_8888.
Способ изменить используемую конфигурацию можно при декодировании файлов изображений следующим образом:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon, options);
Поэкспериментируйте с этим и посмотрите, поможет ли это. Это, безусловно, помогло мне с моей игрой.