Android Activity has leaked window that was originally added
今天调试程序时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的更多相关文章
- Activity has leaked window that was originally added(以解决)
在编写Android程序的时候,遇到一个隐藏性问题.仔细查看LogCat,错误信息如下: 10-31 13:03:34.549: ERROR/WindowManager(444): Activi ...
- Activity has leaked window that was originally added
错误: E/WindowManager: android.view.WindowLeaked: Activity com.x.x.x has leaked window com.android.int ...
- 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 ...
- android在学习——activity关闭和dialog.dismiss冲突的解决(Activity has leaked window com.android.internal.policy.impl.PhoneWindow)
当我们在退出整个程序的时候偶尔会出现这种报错:Activity has leaked window com.android.internal.policy.impl.PhoneWindow 其意思大概 ...
- Android排错: has leaked window com.android.internal.policy.impl.PhoneWindow$ that was originally added here
异常场景: 经常在应用中需要处理一些耗时的工作,诸如读取大文件.访问网络资源等.为了避免因程序假死而带来的糟糕用户体验,通常我们可以通过线程+Handler或者Android提供的AsyncTask来 ...
- 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 ...
- 【转】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 ...
- Android Activity的加载模式和onActivityResult方法之间的冲突
前言 今天在调试程序时,发现在某一Activity上点击返回键会调用该Activity的onActivityResult()方法.我一开始用log,后来用断点跟踪调试半天,还是百思不得其解.因为之前其 ...
- Android failed creating starting window
/***************************************************************************** * Android failed crea ...
随机推荐
- Python学习【第4篇】:Python之文件操作
文件操作 读取一行 f=open("D:\\1.txt",'rb') print f.readline() f.close() 将文件内容保存在一个list with open(& ...
- Linux之强大的selinux
简单点说,SELinux就是用来加强系统安全性的.它给一些特定程序(这些程序也在不断增加)做了一个沙箱,它将文件打上了一个安全标签,这些标签属于不同的类,也只能执行特定的操作,也就是规定了某个应用程序 ...
- SprinMVC接收参数乱码解决篇
1.Spring 默认的字符编码格式为iso-8859-1,为此Spring专门提供了字符过滤器org.springframework.web.filter.CharacterEncodingFilt ...
- Vim 基本操作
Vim 基本操作 vim的模式 命令模式 2. 编辑模式 3. 尾行模式 编辑 i : 插入 光标所在位置 a : 插入 光标所在位置的下一个位置 o : 插入 光标所在位置的下一行插入新行 O : ...
- 使用Python PIL库中的Image.thumbnail函数裁剪图片
今天,是我来到博客园的第五天,发现自己还没有头像,想着上传ubuntu系统中我很喜欢的一个背景图片来当头像,但是因为图片过大,上传失败了.那么,我们如何使用python中强大的PIL库来进行图片裁剪呢 ...
- unigui的session【1】
目前是1394. 明白session如何使用管理,看demo Session List和SessionTimeout unit Main; interface uses Windows, Messag ...
- socket状态
SYN_SEND Indicates active open. SYN_RECEIVED Server just received SYN from the client. ESTABLISHED C ...
- spring入门笔记
这是我自己学习韩顺平老师spring视频的笔记,个人认为初学spring的韩顺平老师的讲的很好,比较通俗易懂,资源地址我已经给了,可以自己配合视频看.主要介绍了ioc和aop,这也是spring框架最 ...
- HTMLParser in python
You can know form the name that the HTMLParser is something used to parse HTML files. In python, th ...
- open cursor too much error
今天遇到一个错误ORA-01000: maximum open cursors exceeded. 客户想增加 DB 的open_cursor这个参数. 但是我看了下,她的程序要打开几千个cursor ...