`

android在学习——activity关闭和dialog.dismiss冲突的解决(Activity has leaked window com.androi

 
阅读更多

原文:http://www.cnblogs.com/winxiang/archive/2012/05/02/2478633.html

 

 

当我们在退出整个程序的时候偶尔会出现这种报错: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();
    }

 

标签: android
分享到:
评论

相关推荐

    Android四大组件——Activity——Activity的生命周期.doc

    Android 四大组件——Activity——Activity 的生命周期 Android 四大组件中的 Activity 是一个非常重要的组件,它是用户与应用程序交互的入口。Activity 的生命周期是指从创建到销毁的整个过程,在这个过程中,...

    安卓Android源码——(Dialog对话框).zip

    通过研究这个“安卓Android源码——(Dialog对话框).zip”资源,开发者可以深入理解Dialog的内部工作原理,学习到如何在实际项目中灵活运用Dialog,从而提升应用的用户体验。对于初学者来说,这是一个很好的学习材料...

    安卓Android源码——HerilyAlertDialog完全自定义的Dialog.zip

    安卓Android源码——HerilyAlertDialog完全自定义的Dialog.zip

    安卓Android源码——HerilyAlertDialog完全自定义的Dialog.rar

    8. **生命周期管理**:在Activity的生命周期中,需要适当地管理和关闭Dialog,以防止内存泄漏和用户体验问题。例如,在`onPause()`或`onDestroy()`中调用`dismiss()`。 9. **自定义Dialog类**:为了实现更复杂的...

    安卓Android源码——dialog去除边框代码.zip

    解压后,开发者可以通过阅读代码和资源文件来学习如何在自己的项目中实现无边框Dialog,以提升应用的用户体验和视觉效果。同时,这也展示了Android系统的可定制性,开发者可以根据需求自由调整UI组件的外观和行为。...

    安卓Android源码——实现Windows风格的Dialog.zip

    通过这个源码包,开发者不仅可以学习如何实现自定义Dialog,还可以了解到如何在Android中进行UI设计和交互实现,这对于提升安卓应用的用户体验和视觉一致性至关重要。同时,理解并实践这些知识点也有助于提升开发者...

    安卓Android源码——(Dialog对话框).rar

    Android源码中的Dialog类还提供了许多其他方法,例如setTitle()、setMessage()用于设置对话框的标题和消息文本,setCancelable()用于控制用户是否可以通过点击对话框外部区域关闭对话框。另外,setPositiveButton()...

    安卓Android源码——安卓Android实现Windows风格的Dialog.rar

    本资源"安卓Android源码——安卓Android实现Windows风格的Dialog.rar"提供了一种实现方式,帮助开发者在安卓系统上构建出与Windows系统类似风格的对话框。 首先,了解Dialog在Android中的基本使用。在Android SDK中...

    Android 控制关闭Dialog

    在Android开发中,Dialog是一种常见的用户交互元素,用于在用户界面中显示临时信息或进行简单的交互操作。通常,当我们使用AlertDialog构建一个对话框时,它的默认行为是在用户点击按钮(如"确定"或"取消")后自动...

    Dialog.js 最新版 绝对强大

    这个最新版本的Dialog.js 提供了先进的特性和优化,使其在各种浏览器环境下表现卓越,包括Firefox、Internet Explorer 6、7、8以及Opera等主流浏览器。它使得在网页中添加交互式对话框变得简单而高效,无论是在用户...

    Android 中 android.view.WindowLeaked的解决办法

    Android 中 android.view.WindowLeaked的解决办法 按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢? 产生原因: 我们知道Android的每一个Activity都有个...

    安卓Android源码——所有Dialog对话框.rar

    这份"安卓Android源码——所有Dialog对话框.rar"压缩包很可能包含了各种类型的Dialog实现,这对于我们理解Android系统中Dialog的工作原理以及自定义Dialog的实现方法非常有帮助。 首先,我们要知道Dialog是基于...

    Android 悬浮Activity ( Dialog风格)

    在Android开发中,"悬浮Activity"通常指的是一个可以悬浮在其他应用之上,类似Dialog样式但功能更为丰富的Activity。这样的设计可以提供用户一种便捷的方式访问或操作应用,而无需完全退出当前正在使用的应用。悬浮...

    安卓Android源码——安卓Android实现Windows风格的Dialog.zip

    在安卓(Android)平台上,开发人员经常需要创建各种对话框(Dialog)来提供用户交互,例如显示警告信息、获取用户输入或展示详细信息等。在默认情况下,Android系统的Dialog具有其特有的Material Design风格,但...

    完美实现将activity作为dialog弹窗进行弹出

    在Android开发中,有时我们可能需要将一个Activity展示为Dialog样式,以便于用户交互,比如在主界面之上显示一个半透明、大小可调整的小窗口。本文将深入探讨如何完美实现将Activity作为Dialog弹窗进行弹出,并且...

    安卓Android源码——等待提示动画源码.zip

    在安卓(Android)开发中,源码的分析和理解对于提升应用性能和用户体验至关重要。"安卓Android源码——等待提示动画源码.zip"这个压缩包文件包含了一个关于等待提示动画的实现,通常这类动画用于在应用程序执行长...

    安卓Andriod源码——实现Windows风格的Dialog.zip

    这个压缩包"安卓Andriod源码——实现Windows风格的Dialog.zip"提供了如何在Android应用中创建这种特殊Dialog的方法。在这里,我们将深入探讨相关知识点。 1. 自定义Dialog:Android系统提供了多种内置的Dialog样式...

    安卓Android源码——所有Dialog对话框.zip

    在安卓(Android)开发中,Dialog对话框是用户界面(UI)设计中不可或缺的一部分,它用于向用户显示临时信息或需要用户做出决策的情况。在Android源码中,Dialog类及其子类提供了丰富的功能来实现各种对话框样式。...

Global site tag (gtag.js) - Google Analytics