Данное ограничение можно обойти тремя методами.
1) Можно заставить ОС думать, что ваше приложение использует намного меньше памяти, чем есть на самом деле(к сожалению сейчас не могу найти статью с решением). Но это решение является наихудшим из вариантов, если вкратце, память все равно не бесконечна, необходимо правильно ей управлять.
2) Можно в AndroidManifest.xml в application задать android:largeHeap=«true», количество памяти выделенное приложению будет увеличено, но этот вариант опять же подходит для самых необычных случаев, например когда в памяти нужно хранить один большой кусок неразрывных данных.
developer.android.com/guide/topics/manifest/application-element.html
3) Самый правильный вариант по моему мнению, следующий: в памяти должны быть только видимые изображения, все остальные изображения стоит выгружать из памяти(кстати, не забудьте делать recycle на битмапе). Изображения с флеш карты подтягиваются довольно быстро.