活动有最初加入泄露窗口 [英] Activity has leaked window that was originally added

查看:133
本文介绍了活动有最初加入泄露窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是什么错误,以及为什么会发生?

  05-17 18:24:57.069:ERROR /窗口管理器(18850):活动com.mypkg.myP渗漏窗口com.android.internal.policy.impl.PhoneWindow $ DecorView @ 44c46ff0最初此处添加
05-17 18:24:57.069:ERROR /窗口管理器(18850):android.view.WindowLeaked:活动ccom.mypkg.myP渗漏窗口com.android.internal.policy.impl.PhoneWindow$DecorView@44c46ff0最初加入这里
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.view.ViewRoot< INIT>(ViewRoot.java:231)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.view.Window $ LocalWindowManager.addView(Window.java:424)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.app.Dialog.show(Dialog.java:239)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在com.mypkg.myP $preparePairingLinkageData.on preExecute(viewP.java:183)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.os.AsyncTask.execute(AsyncTask.java:391)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在com.mypkg.myP.onCreate(viewP.java:94)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2544)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2621)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.app.ActivityThread.access $ 2200(ActivityThread.java:126)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1932)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.os.Handler.dispatchMessage(Handler.java:99)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.os.Looper.loop(Looper.java:123)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在android.app.ActivityThread.main(ActivityThread.java:4595)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在java.lang.reflect.Method.invokeNative(本机方法)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在java.lang.reflect.Method.invoke(Method.java:521)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:860)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-17 18:24:57.069:ERROR /窗口管理器(18850):在dalvik.system.NativeStart.main(本机方法)
 

解决方案

您正试图显示一个对话框,你已经退出了活动后。

这个问题是在谷歌上搜索Android开发者之一, 因此,从添加注释,这可能是为未来的研究者更有帮助一些重要的点,而无需在评论谈话的深度。

答1

  

您正试图显示一个对话框,你已经退出了活动后。

答2

  

此错误可有点在某些情况下,误导性(尽管   答案仍然是完全正确的) - 即在我的情况下,   未处理的异常被扔在一个AsyncTask的,这引起了   活动关机,然后打开的progressdialog导致此   在日志中较早的例外。所以真实的例外是有点

答3

  

呼叫解雇()在对话框您在退出之前创建的   活性,例如在的onPause()或的onDestroy()

What is this error, and why does it happen?

05-17 18:24:57.069: ERROR/WindowManager(18850): Activity com.mypkg.myP has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@44c46ff0 that was originally added here
05-17 18:24:57.069: ERROR/WindowManager(18850): android.view.WindowLeaked: Activity ccom.mypkg.myP has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@44c46ff0 that was originally added here
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.view.ViewRoot.<init>(ViewRoot.java:231)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.view.Window$LocalWindowManager.addView(Window.java:424)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.app.Dialog.show(Dialog.java:239)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at com.mypkg.myP$PreparePairingLinkageData.onPreExecute(viewP.java:183)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.os.AsyncTask.execute(AsyncTask.java:391)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at com.mypkg.myP.onCreate(viewP.java:94)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2544)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2621)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.app.ActivityThread.access$2200(ActivityThread.java:126)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1932)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.os.Looper.loop(Looper.java:123)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at android.app.ActivityThread.main(ActivityThread.java:4595)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at java.lang.reflect.Method.invokeNative(Native Method)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at java.lang.reflect.Method.invoke(Method.java:521)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-17 18:24:57.069: ERROR/WindowManager(18850):     at dalvik.system.NativeStart.main(Native Method)

解决方案

You're trying to show a Dialog after you've exited an Activity.

[EDIT]

This question is one of the top search on google for android developer, therefore Adding few important points from comments, which might be more helpful for future investigator without going in depth of comment conversation.

Answer 1 :

You're trying to show a Dialog after you've exited an Activity.

Answer 2

This error can be a little misleading in some circumstances (although the answer is still completely accurate) - i.e. in my case an unhandled Exception was thrown in an AsyncTask, which caused the Activity to shutdown, then an open progressdialog caused this Exception.. so the 'real' exception was a little earlier in the log

Answer 3

Call dismiss() on the Dialog you created in before exiting your Activity, e.g. in onPause() or onDestroy()

这篇关于活动有最初加入泄露窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆