androidfinish Activity时报ConcurrentModificationException异常并闪退

来源:互联网 发布:阿里云 wordpress 编辑:程序博客网 时间:2024/06/07 00:53

在项目中用工具类AppManager进行对activity的管理和应用的退出。finishActivity()方法代码:

  /**     * 结束指定类名的Activity     */    public void finishActivity(Class<?> cls) {        for (Activity activity : activityStack) {            if (activity.getClass().equals(cls)) {                finishActivity(activity);            }        }    }

当调用此方法finish一个activity时在某些系统的手机会出现闪退情况,并且打印出ConcurrentModificationException异常。

解决方法:

          1.在要销毁的activity中添加变量,例如在MybDetailsActivity中添加: 
                    public static MybDetailsActivity instence;
        2.在该activity 初始化时
                     instence = this;
        3.销毁时;
                     AppManager.getAppManager().finishActivity(MybDetailsActivity.instence);
原创粉丝点击