androidfinish Activity时报ConcurrentModificationException异常并闪退

在项目中用工具类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);

你可能感兴趣的:(android开发问题,异常,管理)