这个错误通常是因为在Activity销毁后,仍然持有对窗口的引用,导致窗口无法正常释放。如果这个错误发生在一个Dialog上,可以在Activity中添加下面的代码来解决:
@Override
protected void onDestroy() {
super.onDestroy();
if (mDialog != null && mDialog.isShowing()) {
mDialog.dismiss();
}
}
如果这个错误发生在一个Toast上,可以在Activity中添加下面的代码来解决:
@Override
protected void onDestroy() {
super.onDestroy();
ToastUtil.cancelToast();
}
其中,ToastUtil是一个自定义的Toast工具类,代码如下:
public class ToastUtil {
private static Toast sToast;
public static void showToast(Context context, String message) {
if (sToast != null) {
sToast.cancel();
}
sToast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
sToast.show();
}
public static void cancelToast() {
if (sToast != null) {
sToast.cancel();
}
}
}