Androidでのメモリリークの回避についてRomain Guyから読みました。しなければならないことを理解しています
getApplicationContext()
メモリリークを避けるために使用します。とにかく、私のコードは次のとおりです。
MainMenuActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
canvasMenu = new CanvasMainMenu(this);
setContentView(canvasMenu);
}
CanvasMainMenu.java
public class CanvasMainMenu extends View {
private TextView textChallenge;
public CanvasMainMenu(Context context) {
super(context);
textChallenge = null;
textChallenge = new TextView(context);
textChallenge.setTypeface(fontJoan);
textChallenge.setTextColor(Color.WHITE);
textChallenge.setText("99");
textChallenge.measure((int)Define.getScreenWidth(), (int)Define.getScreenHeight());
textChallenge.layout(0, 0, 200, 200);
textChallenge.setTextSize(TypedValue.COMPLEX_UNIT_PX, 20);
textChallenge.setDrawingCacheEnabled(true);
textChallenge.buildDrawingCache();
}
}
私の質問は、コードがこのようになっている場合、メモリリークをどのように回避できるかです。
static TextView
MainMenu.java ファイルに作成する必要がありますか?
私が何か間違っていることを理解したら、誰かが私に説明してください。