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 ...
随机推荐
- How To:配置Openfiler磁盘
目录 1.系统登陆 2.启用iSCSI Target服务 3.初始化卷组 4.映射LUN 5.查看状态 1.系统登陆 Openfiler系统安装完毕之后,使用提示的地址登陆:https://172.1 ...
- models中字段参数blank和null的用法区别
blank当blank=True时,说明此处的数据可以不填,默认情况下为False,也就意味着默认情况下,所输入的数据不得空,blank是和页面表单有关,在页面需要输入参数的时候,如果在models里 ...
- Java8新特性之forEach遍历
参考文章: https://www.cnblogs.com/billyu/p/6118008.html
- log4net的相关使用笔记
1, XmlConfigurator 创建添加一个Tracer project,引用nuget上最新的log4net 在Tracer里新增一个AppLog类: public static class ...
- CF410div2 A. Mike and palindrome
/* CF410div2 A. Mike and palindrome http://codeforces.com/contest/798/problem/A 水题 */ #include <c ...
- poj 2831 次小生成树模板
/*次小生成树 题意:给你一些路径,现在将一部分路径权值减少后问是否可以替代最小生成树里面的边. 解:次小生成树,即将这条边连上,构成一个环 求出任意两点路径之间的除了这条边的最大值,比较这个最大值& ...
- centos7.0_redhat7.0安装vncserver和Desktop桌面
http://blog.51cto.com/gushiren/1681616 https://blog.csdn.net/techsupporter/article/details/50628399
- nyoj_366_D的小L_201403011600
D的小L 时间限制:4000 ms | 内存限制:65535 KB 难度:2 描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给 ...
- ZooKeeper之初识
它是什么 俗称动物管理员,它使用java开发,开源,接口简单,高效,稳定的分布式系统,为其它分布式系统提供协调服务 为什么会存在? 开发分布式系统跟单机上做开发完全不同,碰到的问题完全不同,开发分布式 ...
- 使用Visual Studio Code调试Electron主进程
1.打开VS Code,使用文件->打开,打开程序目录 2.切换到调试选项卡 3.打开launch.json配置文件 4.在“附加到进程”节点上增加localhost配置 5.使用命令行启动el ...