當我們在退出整個程序的時候偶爾會出現這種報錯:Activity has leaked window com.android.internal.policy.impl.PhoneWindow
其意思大概就是:窗體已經關閉了但是dialog仍然在顯示,Activity has leaked window(activity滲透出窗體),大概就是這個意思。
那么就要在activity finish()之前將dialog dismiss()掉。
我的做法就是重寫本activity的onDestroy()方法,在此方法中將dialog清除:
/** * 此方法必須重寫,以決絕退出activity時 dialog未dismiss而報錯的bug */ @Override protected void onDestroy() { // TODO Auto-generated method stub try{ myDialog.dismiss(); }catch (Exception e) { System.out.println("myDialog取消,失敗!"); // TODO: handle exception } super.onDestroy(); }