У меня есть LinearLayout, в котором я динамически добавляю и удаляю TextView.Чтобы удалить их, я просто вызываю .removeAllViews ();Это конечно вызывает огромную утечку памяти.Это их способ освободить память, или это просто недостаток архитектурного дизайна на моей стороне.
public void myUpdateFunction() {
//...
((ViewGroup) findViewById(R.id.WordList)).removeAllViews();
ArrayList<String> anagrams = model.getAnagrams();
for (int i = 0; i < anagrams.size(); i++) {
String word = anagrams.get(i);
if (model.getFound(i)) {
addWord(word);
} else {
addWord(word.length());
}
}
//...
}
public void addWord(String word) {
ViewGroup list = (ViewGroup) findViewById(R.id.WordList);
TextView v = new TextView(this);
LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
v.setLayoutParams(lparams);
v.setTextColor(Color.BLACK);
v.setText(word);
list.addView(v);
}