Sounds to me like you could do a couple of things.
1. Load them lazily - i.e. as needed which I believe you were alluding too.
2. And maintain a cache of them (sized for your needs).
3. Consider using SoftReferences for storing the images. SoftReferences are guaranteed to be GC'd prior to any "out of memory exception" as long as
there are no hard references to the same object. SoftReference (Java Platform SE 7 )