ViewStub的坑

在项目工程选中使用ViewStub之后,大量线上问题:

java.lang.ClassCastException
java.lang.String cannot be cast to java.lang.Object[]
android.util.ArrayMap.allocArrays(ArrayMap.java:213)

问题的直接原因是谷歌自己在Android 9.0以下的BUG:

ArrayMap 存在线程不安全操作

因此,当你使用大量使用ViewStub,尤其是在布局很频繁的阶段使用ViewStub,就会在低版本的机器上引发上述问题。

间接原因是,使用ViewStub之后,引起页面重新绘制、测量。

你可能感兴趣的:(ViewStub的坑)