java.util.ConcurrentModificationException
2017-09-25 13:13
288 查看
今天在华为mate9(android7.0系统)上遇到这么一个问题,后来发现7.0系统都有这个问题,错误log:
错误log中报AppManager类112行出错,如下图:
这个bug很特殊,我在小米和华为的部分手机中,都没有报错,可就在华为mate9中报错,实在很苦恼,上网了查阅了资料,终于在这http://www.jianshu.com/p/c5b52927a61a 这篇文章中找到了答案,具体解决办法也很简单,原先代码中我是这样创建activity管理栈的
我是用Stack创建的,原先我以为是Stack的问题,于是我改成用ArrayList试试,还是一样的错误,最终参考网上的,采用CopyOnWriteArrayList就解决了问题,
CopyOnWriteArrayList是一个线程安全的ArrayList,其实现原理在于,每次add,remove等所有的操作都是重新创建一个新的数组,再把引用指向新的数组;而先前使用的Stack,ArrayList的add、remove、clear方法都会造成modCount的改变。迭代过程中如何调用这些方法就会造成modCount的增加,使迭代类中expectedModCount和modCount不相等,所以才导致了这种异常问题.
相关文章推荐
- java.util.ConcurrentModificationException 出现的原因和解决办法
- java.util.ConcurrentModificationException详解
- java.util.ConcurrentModificationException解决
- java.util.ConcurrentModificationException 出现的原因和解决办法
- 遇到java.util.ConcurrentModificationException
- java.util.ConcurrentModificationException
- java.util.ConcurrentModificationException
- java.util.ConcurrentModificationException 出现的原因和解决办法
- java.util.ConcurrentModificationException 解决办法
- java set 删除元素 java.util.ConcurrentModificationException
- java.util.ConcurrentModificationException异常解决方法
- java.util.ConcurrentModificationException异常及解决方案
- 小小异常:java.util.ConcurrentModificationException
- java.util.ConcurrentModificationException错误的原因及解决方法
- 遍历集合时删除元素,抛出java.util.ConcurrentModificationException的解决办法
- java.util.ConcurrentModificationException的解决方案
- java.util.ConcurrentModificationException问题
- java.util.ConcurrentModificationException异常解决方法
- java java.util.ConcurrentModificationException 原因
- java.util.ConcurrentModificationException