项目中 ScrollView 中内容为 LinearLayout 时如果其长度超出一定限制则会闪退,报类似如下错误:Unable to create layer for LinearLayout, size 1024x16384 max size 16383 color type 4。
解决方案如下:
- LinearLayout 的 forceHasOverlappingRendering 设置为false(较好解决办法)
- LinearLayout 的图层类型设置为 View.LAYER_TYPE_SOFTWARE,使用 setLayerType()方法,这种方法可以看到所有的 LinearLayout 子视图消时不见了,因此虽然不闪退了但却不符合要求。
注意:当 LinearLayout 子视图过多最好使用 RecycleView 或者 ListView
网友评论