AsyncTask의 onPreExecute() 에서 Dialog show()를 해주고, onPostExecute() 에서, Dialog dismiss()를 해주고 있습니다.
그런데, 간헐적으로 ANR팝업 발생하면서 Appl이 종료되고 있습니다.
죽는 위치는 show() 할때 메시지찍히고, 바로 뒤이어서 dismiss()할때 또 같은 메시지가 찍힙니다.
ANR메시지는 ,
android.view.WindowLeaked: Activity 패키지명.. has leaked 이라고 뜹니다.
(대략 서치해보니, dismiss를 잘못할경우 발생할수 있다는데, 그럼 show하면서 발생되는 경우는 어케 이해해야 될지요...ㅠㅠ)
원인을 모르겠네요.
고수분들의 의견 부탁 드립니다.
public class XXDialog extends Dialog{
public XXDialog show(Context context, CharSequence title, CharSequence message, boolean indeterminate, boolean cancelable, OnCancelListener cancelListener) {
ProgressBar mProgressBar = new ProgressBar(context, null, R.style.ProgressDialog);
mProgressBar.setIndeterminateDrawable(context.getResources().getDrawable(R.drawable.progress_ani));
mProgressBar.setIndeterminate(indeterminate);
this.setTitle(title);
this.setCancelable(cancelable);
this.setOnCancelListener(cancelListener);
this.addContentView(mProgressBar, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
this.show();
return this;
}
public XXDialog (Context context) {
super(context, R.style.ProgressDialog);
}
@Override
public void dismiss(){
super.dismiss();
}
}