not attached to window manager有许多场景发生

最近在dialog上碰到此问题

WindowManager: android.view.WindowLeaked: Activity com.XXXXXX.LoginActivity has leaked window [email protected][系统信息] that was originally added here12407-17 16:15:41.822 30086 30086 E WindowManager: at android.view.ViewRootImpl.(ViewRootImpl.java:498)12507-17 16:15:41.822 30086 30086 E WindowManager: at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:346)12607-17 16:15:41.822 30086 30086 E WindowManager: at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:94)12707-17 16:15:41.822 30086 30086 E WindowManager: at android.app.Dialog.show(Dialog.java:356)12807-17 16:15:41.822 30086 30086 E WindowManager: at com.growingio.android.sdk.agent.VdsAgent.showDialog(Unknown Source:0)12907-17 16:15:41.822 30086 30086 E WindowManager: at com.growingio.android.sdk.agent.VdsAgent.showDialog(Unknown Source:0)13007-17 16:15:41.822 30086 30086 E WindowManager: at com.growingio.android.sdk.agent.VdsAgent.showDialog(Unknown Source:0)

可能原因:

之前显示的对话框没有关闭,或者上下文已经失效,存在窗口泄露问题

解决方法:

1、try catch

try {    if ((mDialog != null) && mDialog.isShowing()) {      mDialog.dismiss();    }} catch (Exception e) {       } finally {    mDialog = null;}  

2、判断上下文,有效时再关闭

if (progressDialog != null) {       if (progressDialog.isShowing()){           Context context = ((ContextWrapper)progressDialog.getContext()).getBaseContext();       if(context instanceof Activity) {           if(!((Activity)context).isFinishing() && !((Activity)context).isDestroyed())                  progressDialog.dismiss();           } else {                  progressDialog.dismiss();           }        }       progressDialog = null;}

 

更多相关文章

  1. Android中自定义对话框的实现
  2. 自定义Dialog对话框
  3. Android创建AlertDialog对话框
  4. Android中如何使用列表对话框
  5. 【Android】对话框之日期和时间对话框
  6. Android Dialog触摸对话框外部让其消失的实现方法
  7. Android 实现对话框 警告对话框、列表对话框、自定义对话框 ——
  8. android弹出选择对话框-仿某团购网android客户端栏目选择
  9. 利用半透明对话框实现android运行时的提示界面

随机推荐

  1. Android实现卡片翻转动画
  2. 自定义Android的Spinner
  3. android(7) 360界面的实现
  4. Android(安卓)Binder设计与实现(1) – 设计
  5. Appium 环境配置
  6. android编译系统 - pathmap.mk
  7. Android(安卓)Camera2 拍照(三)——切换摄
  8. Android(安卓)RxJava使用介绍(四) RxJava的
  9. android studio 打包自动生成版本号与日
  10. android vlc源码编译