关于”好奇移动端、桌面端是怎么实现列表控件渲染大量元素不卡顿的?”引申的问题

13次阅读

共计 407 个字符,预计需要花费 2 分钟才能阅读完成。

上一个问题 (https://www.v2ex.com/t/1059281 ) 我看已经讨论结束了,所以新开一个帖子来讨论下。

我的问题是,大量的列表会导致滑动卡顿吗?移动端有 ” 回收,重用,缓存 ” 这种策略,但如果不使用这种策略,而将大量的列表数据加载到内存中,滑动时候会卡顿吗?

我的理解是它们已经加载到内存中了,滑动只是将其展示出来,缺点是占用内存特别大。

如果使用了回收策略,只有屏幕展示的那几条列表会被加载到内存中,滑动出去的放到复用列表中,以供下次使用,这样可以节约大量内存,但在快速滚动刷新的列表中,这需要 cpu 进行大量的计算来刷新列表中的数据吧?

所以我觉得,如果不使用回收策略,那么 cpu 会在第一时间创建很多列表数据,这会导致一开始卡顿,创建完数据后,占用很大内存。但之后的刷新,不应该卡顿。

如果使用回收策略,内存压力小了,开始不需要进行大量的 cpu 计算,所以不会有开始渲染卡顿问题。但后面的 快速刷新 会消耗 cpu。

正文完
 0