Reference:
http://stackoverflow.com/questions/22924825/view-not-attached-to-window-manager-crashhttp://www.2cto.com/kf/201202/119310.html
Scenario:
UI thread產生另一個 thread(Ex: AsyncTask)來顯示一個 Dialog,當 thread任務完成了再 dismiss dialog,如果在此期間 Activity因為某種原因被殺掉且又重新啟動了,那麼當 Dismiss的時候, WindowManager檢查發現 Dialog所屬的 Activity已經不存在了,就會跳出這個 ExceptionCode snippet:
@Overrideprotected void onDestroy() {
dismissProgressDialog();
super.onDestroy();
}
protected void onPostExecute(String file_url)
{
if (YourActivity.this.isDestroyed()) { // or call isFinishing() if min sdk version < 17
return;
}
dismissProgressDialog();
something(note);
}
private void dismissProgressDialog() {
if (mDialog != null && mDialog.isShowing()) {
mDialog.dismiss();
}
}
沒有留言:
張貼留言