今天调试程序时log中突然打印这样的错误,但是程序并没有crash,为了不放过一个错误,我决定调查一下。

当时是离开一个activity,然后提示是否退出此界面,接下来就打印此错误:

- ::48.521: E/WindowManager(): Activity com.linc.megatron.activity.ExamActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40568ea8 that was originally added here
- ::48.521: E/WindowManager(): android.view.WindowLeaked: Activity com.linc.megatron.activity.ExamActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40568ea8 that was originally added here
- ::48.521: E/WindowManager(): at android.view.ViewRoot.<init>(ViewRoot.java:)
- ::48.521: E/WindowManager(): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:)
- ::48.521: E/WindowManager(): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:)
- ::48.521: E/WindowManager(): at android.view.Window$LocalWindowManager.addView(Window.java:)
- ::48.521: E/WindowManager(): at android.app.Dialog.show(Dialog.java:)
- ::48.521: E/WindowManager(): at com.linc.megatron.base.BackKeyActivity.showDialog(BackKeyActivity.java:)
- ::48.521: E/WindowManager(): at com.linc.megatron.base.BackKeyActivity.onKeyDown(BackKeyActivity.java:)
- ::48.521: E/WindowManager(): at android.view.KeyEvent.dispatch(KeyEvent.java:)
- ::48.521: E/WindowManager(): at android.app.Activity.dispatchKeyEvent(Activity.java:)
- ::48.521: E/WindowManager(): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:)
- ::48.521: E/WindowManager(): at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:)
- ::48.521: E/WindowManager(): at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:)
- ::48.521: E/WindowManager(): at android.view.ViewRoot.handleMessage(ViewRoot.java:)
- ::48.521: E/WindowManager(): at android.os.Handler.dispatchMessage(Handler.java:)
- ::48.521: E/WindowManager(): at android.os.Looper.loop(Looper.java:)
- ::48.521: E/WindowManager(): at android.app.ActivityThread.main(ActivityThread.java:)
- ::48.521: E/WindowManager(): at java.lang.reflect.Method.invokeNative(Native Method)
- ::48.521: E/WindowManager(): at java.lang.reflect.Method.invoke(Method.java:)
- ::48.521: E/WindowManager(): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:)
- ::48.521: E/WindowManager(): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:)
- ::48.521: E/WindowManager(): at dalvik.system.NativeStart.main(Native Method)

显然,我用Dialog确认是否退出,但是activity销毁后并没有处理Dialog的退出。

解决办法:

知道了问题所在就容易解决问题了。只需要在activity销毁时关闭Dialog就好。

    @Override
protected void onDestroy() {
if(mDialog != null) {
mDialog.dismiss();
}
super.onDestroy();
}

Android Activity has leaked window that was originally added的更多相关文章

  1. Activity has leaked window that was originally added(以解决)

     在编写Android程序的时候,遇到一个隐藏性问题.仔细查看LogCat,错误信息如下: 10-31 13:03:34.549: ERROR/WindowManager(444): Activi ...

  2. Activity has leaked window that was originally added

    错误: E/WindowManager: android.view.WindowLeaked: Activity com.x.x.x has leaked window com.android.int ...

  3. Activity has leaked window that was originally added -界面退出时未关闭对话框异常 android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? -

    退出Activity时弹出登录框,点击确定finish当前Activity,结果报了这个错,随后查找资料知道 原因: 是因为退出Activity时没有关闭弹出框,出现了这个错误 解决方法: 只需要在a ...

  4. android在学习——activity关闭和dialog.dismiss冲突的解决(Activity has leaked window com.android.internal.policy.impl.PhoneWindow)

    当我们在退出整个程序的时候偶尔会出现这种报错:Activity has leaked window com.android.internal.policy.impl.PhoneWindow 其意思大概 ...

  5. Android排错: has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added here

    异常场景: 经常在应用中需要处理一些耗时的工作,诸如读取大文件.访问网络资源等.为了避免因程序假死而带来的糟糕用户体验,通常我们可以通过线程+Handler或者Android提供的AsyncTask来 ...

  6. decorview that was originally added here or java.lang.IllegalArgumentException: View not attached to window manager

    使用Dialog的时候,没少出现下面这两个报错 12-11 17:47:49.776: E/WindowManager(11461): android.view.WindowLeaked: Activ ...

  7. 【转】Android异常:that was originally added here

    ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 02-19 15:08:02.228: E/WindowManager(22172): Activity  ...

  8. Android Activity的加载模式和onActivityResult方法之间的冲突

    前言 今天在调试程序时,发现在某一Activity上点击返回键会调用该Activity的onActivityResult()方法.我一开始用log,后来用断点跟踪调试半天,还是百思不得其解.因为之前其 ...

  9. Android failed creating starting window

    /***************************************************************************** * Android failed crea ...

随机推荐

  1. Python学习【第4篇】:Python之文件操作

    文件操作 读取一行 f=open("D:\\1.txt",'rb') print f.readline() f.close() 将文件内容保存在一个list with open(& ...

  2. Linux之强大的selinux

    简单点说,SELinux就是用来加强系统安全性的.它给一些特定程序(这些程序也在不断增加)做了一个沙箱,它将文件打上了一个安全标签,这些标签属于不同的类,也只能执行特定的操作,也就是规定了某个应用程序 ...

  3. SprinMVC接收参数乱码解决篇

    1.Spring 默认的字符编码格式为iso-8859-1,为此Spring专门提供了字符过滤器org.springframework.web.filter.CharacterEncodingFilt ...

  4. Vim 基本操作

    Vim 基本操作 vim的模式 命令模式 2. 编辑模式 3. 尾行模式 编辑 i : 插入 光标所在位置 a : 插入 光标所在位置的下一个位置 o : 插入 光标所在位置的下一行插入新行 O : ...

  5. 使用Python PIL库中的Image.thumbnail函数裁剪图片

    今天,是我来到博客园的第五天,发现自己还没有头像,想着上传ubuntu系统中我很喜欢的一个背景图片来当头像,但是因为图片过大,上传失败了.那么,我们如何使用python中强大的PIL库来进行图片裁剪呢 ...

  6. unigui的session【1】

    目前是1394. 明白session如何使用管理,看demo Session List和SessionTimeout unit Main; interface uses Windows, Messag ...

  7. socket状态

    SYN_SEND Indicates active open. SYN_RECEIVED Server just received SYN from the client. ESTABLISHED C ...

  8. spring入门笔记

    这是我自己学习韩顺平老师spring视频的笔记,个人认为初学spring的韩顺平老师的讲的很好,比较通俗易懂,资源地址我已经给了,可以自己配合视频看.主要介绍了ioc和aop,这也是spring框架最 ...

  9. HTMLParser in python

    You can know form the name that the HTMLParser is something used to parse HTML files.  In python, th ...

  10. open cursor too much error

    今天遇到一个错误ORA-01000: maximum open cursors exceeded. 客户想增加 DB 的open_cursor这个参数. 但是我看了下,她的程序要打开几千个cursor ...