为什么ScrollView 不要嵌套ListView

2025年05月05日 14:57
有1个网友回答
网友(1):

ScrollView 如果一直滚动 他的整个长度其实是一直存在的
也就是说 你滚两屏 其实上一屏的数据还在,占用内存还在 只是你看不见了
这样问题来了
我们由于各种原因 在开发中不得不考虑ScrollView嵌套ListView

ListView是有自己的缓存机制 占用内存总是一屏幕
但是如果将ListView嵌套到ScrollView中 问题来了
我觉得ListView的缓存机制会失效 这样需求我们是达到了
但是数据很多的情况下 内存占用太大
甚至与OOM

特此做了一个测试  发现SCrollView嵌套ListView的时候所有的Item都是新建的 ListView的缓存机制失效了
所以在UI设计稿讨论的时候 我们必须要坚持 让设计师设计出来符合规范的设计稿 一般的ListView addhead就行