Java および Android 開発で WeakReference を使用するにはどうすればよいでしょうか? 質問する

Java および Android 開発で WeakReference を使用するにはどうすればよいでしょうか? 質問する

私は2年間Java開発者として働いています。

しかし、私はコードに WeakReference を書いたことがありません。WeakReference を使用してアプリケーション、特に Android アプリケーションをより効率的にするにはどうすればよいでしょうか?

ベストアンサー1

Android で を使用することは、WeakReference従来の Java で を使用することと何ら変わりありません。

オブジェクトへの参照が必要で、その参照によってオブジェクトをガベージ コレクターから保護したくない場合は、常に の使用を検討する必要があります。典型的な例としては、メモリ使用量が高くなりすぎたときにガベージ コレクションするキャッシュがあります (多くの場合、 で実装されますWeakHashMap)。

SoftReferenceもぜひチェックしてみてくださいPhantomReference

編集:Tom は、 を使用したキャッシュの実装に関していくつかの懸念を表明しましたWeakHashMap。問題点を説明した記事を以下に示します。WeakHashMap はキャッシュではありません。

トムの言う通り、苦情キャッシュによる Netbeans のパフォーマンス低下についてWeakHashMap

でキャッシュを実装しWeakHashMap、それを で実装した独自のキャッシュと比較することは、良い学習経験になると思いますSoftReference。現実の世界では、おそらくこれらのソリューションのどちらも使用しないでしょう。サードパーティのライブラリを使用する方が理にかなっているからです。アパッチJCS

おすすめ記事