Exception:android.view.WindowLeaked

04-19 16:52:52.280 10945-10945/com.xxx.xxx E/WindowManager: android.view.WindowLeaked: Activity com.xxx.xxx.xxxActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{41f58240 V.E..... R....... 0,0-480,466} that was originally added here
                                                                         at android.view.ViewRootImpl.<init>(ViewRootImpl.java:348)
                                                                         at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
                                                                         at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
                                                                         at android.app.Dialog.show(Dialog.java:286)
                                                                         at com.xxx.xxx.xxxActivity.xxx(LoginActivity.java:114)
                                                                         at com.xxx.xxx.xxxActivity.access$300(LoginActivity.java:37)
                                                                         at com.xxx.xxx.xxxActivity$3$1.run(LoginActivity.java:161)
                                                                         at android.os.Handler.handleCallback(Handler.java:733)
                                                                         at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                         at android.os.Looper.loop(Looper.java:136)
                                                                         at android.app.ActivityThread.main(ActivityThread.java:5017)
                                                                         at java.lang.reflect.Method.invokeNative(Native Method)
                                                                         at java.lang.reflect.Method.invoke(Method.java:515)
                                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                                                                         at dalvik.system.NativeStart.main(Native Method)
  

问题原因:当前Activity已经onDestroy,但是依赖于该Activity的Dialog没有dismiss

解决方案:保证在Activity销毁之前,也就是onDestory之前dismiss对应的dialog对话框

比如:

if (progressDialog != null && progressDialog.isShowing())
{
     progressDialog.dismiss();
}

  

 

posted @ 2017-04-19 17:09  itsdf07  阅读(95)  评论(0)    收藏  举报