SoftReferenceクラスを使うと、キャッシュのようなものを簡単に用意できます。大きなリソースを扱うBigObjectClassがあるとして、それをキャッシュするには、次のようなクラスを用意します。BigObjectClassは別途インスタンス生成が必要です。
public class BigObjectCache { private static HashMap<String,SoftReference<BigObjectClass>> cache = new HashMap<String,SoftReference<BigObjectClass>>(); public static BigObjectClass get(String key) { SoftReferece<BigObjectClass> ref = cache.get(key); if (ref != null) { return ref.get(); } else { return null; } } public static void set(String key, BigObjectClass image) { cache.put(key, new SoftReference<BigObjectClass>(image)); } }