을 파괴 할 수 없습니다 :안드로이드 : 활동
protected void onDestroy() {
super.onDestroy();
this.liberarMemoria();
}
public void liberarMemoria(){
imagenes.recycleBitmaps();
this.unbindDrawables(findViewById(R.id.RelativeLayout1));
System.gc();
}
private void unbindDrawables(View view) {
if (view.getBackground() != null) {
view.getBackground().setCallback(null);
}
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
unbindDrawables(((ViewGroup) view).getChildAt(i));
}
((ViewGroup) view).removeAllViews();
}
}
어디보기 : R.id.RelativeLayout1이있는 ListView입니다.
하지만 예외 엉이이 일을 :
E/AndroidRuntime(582): java.lang.RuntimeException: Unable to destroy activity {...}: java.lang.UnsupportedOperationException: removeAllViews() is not supported in AdapterView
가 어떻게이 문제를 해결할 수 있습니까?
AddapterView가이 작업을 지원하지 않는 이유는 무엇입니까? 나는 그것에 대해 AdapterView의 공식 참조에서 아무것도 찾을 수 없습니다. – r1k0
@ r1k0 예, AdapterView는 내부적으로 자식을 관리하기 때문입니다. 내부 상태가 손상 될 수 있으므로 추가/제거 할 수 없습니다. – inazaruk