我正在开发一款安卓游戏,我刚刚注意到自 onTouchEvent
在 UI 线程上运行,更新/渲染方法从单独的线程运行,它们都更新一个 ArrayList
其中包含实体。所以很明显,如果他们碰巧同时修改列表,他们就会发生冲突。
我读到 Vector
类的使用与 ArrayList
完全相同唯一的区别是 Vector
是同步的,因此它们不会冲突。真的吗?如果是这样,它是否有任何性能问题或我应该关注的问题?我从来没有用过Vector
上课前。
编辑: 我真正的意思是从
ArrayList<Obj> list = new ArrayList<Obj>();
到
Vector<Obj> list = new Vector<Obj>()
但正如答案所说,Vector
不推荐使用。所选答案解决了我的问题。
最佳答案
对于那些必须与遗留代码作斗争的人,请执行以下操作:
new Vector<Obj>(anyThingWhichImplemntsCollection);
关于java - 从 ArrayList 更改为 Vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17478486/