美文网首页
leaked window DecorView@e8b86cb[

leaked window DecorView@e8b86cb[

作者: dashingqi | 来源:发表于2019-05-30 16:52 被阅读0次

问题描述

  1. 异常信息
2019-05-30 16:45:44.507 17175-17175/com.bjcc.beta E/WindowManager: android.view.WindowLeaked: Activity com.TestSettingActivity.TestSettingActivity.ui.TestSettingActivity.TestSettingActivity has leaked window DecorView@e8b86cb[] that was originally added here
        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:498)
        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:346)
        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:94)
        at android.app.Dialog.show(Dialog.java:352)
        at com.TestSettingActivity.TestSettingActivity.utils.Utils.showLoadingDialog(Utils.java:615)
        at com.TestSettingActivity.TestSettingActivity.ui.common.TestSettingActivity.loginAction(TestSettingActivity.java:363)
        at com.TestSettingActivity.TestSettingActivity.ui.common.TestSettingActivity.access$100(TestSettingActivity.java:74)
        at com.TestSettingActivity.TestSettingActivity.ui.common.TestSettingActivity$4$1.run(TestSettingActivity.java:258)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:192)
        at android.app.ActivityThread.main(ActivityThread.java:6700)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)
  1. 引起原因

看异常信息说明存在窗口句柄泄漏,导致没有即使销毁PhoneWindow而引发的异常。

解决办法

  1. 在代码中,网络请求完成是进行了Activity的跳转并销毁当前的Actiivty,但是为了提示用户在请求数据,使用了Dialog,Dialog在Activity销毁的时候没有进行销毁,导致了这个异常。我的解决办法就是在销毁Activity之前调用了dialog.dismiss()哎销毁Dialog或者在当前Activity的onDestroy()中销毁Dialog。

相关文章

网友评论

      本文标题:leaked window DecorView@e8b86cb[

      本文链接:https://www.haomeiwen.com/subject/yubvtctx.html