Storing a Bitmap resource in a static variableをフォローアップすると、android.graphics.Bitmap
の静的リファレンスをView
に格納すると、それをインスタンス化した最初のView
への参照がリークする可能性があります。 Androidでこれを解決するための慣習的な方法は何ですか?このビューのインスタンスがインスタンス化されるたびにBitmapFactory.decodeResource(resource, id)
に電話する必要はありません。これは、1つのアクティビティごとに(何度も)実行されるためです。私はこの小さいBitmap
を常にメモリに残しておきたい。だから、以下を行う正しい方法は何ですか:ビットマップをメモリに保持する方法
public class MyView extends View {
private static Bitmap star;
public MyView(Context context) {
synchronized(this) {
if (star == null) {
star = BitmapFactory.decodeResource(getResources(), R.drawable.star);
}
}
}
// ...
}
ビットマップをアプリケーションクラスに入れると、参照をクリアする必要がありますか? – Kostadin