你的列表很卡?这4个优化能让你的列表丝般顺滑

前言

列表 ListView 是应用中最为常见得组件,而列表往往也会承载很多元素,当元素多,尤其是那种图片文件比较大的场合,就可能会导致列表卡顿,严重的时候可能导致应用崩溃。本篇来介绍如何优化列表。

优化点1:使用 builder构建列表

当你的列表元素是动态增长的时候(比如上拉加载更多),请不要直接用children 的方式,一直往children 的数组增加组件,那样会很糟糕。

//糟糕的用法
ListView(
  children: [
    item1,
    item2,
    item3,
    ...
  ],
)

//正确的用法
ListView.builder(
  itemBuilder: (context, index) => ListItem(),
  itemCount: itemCount,
)

对于 ListView.builder 是按需构建列表元素,也就是只有那些可见得元素才会调用itemBuilder 构建元素,这样对于大列表而言性能开销自然会小很多。

Creates a scrollable, linear array of widgets that are created on demand.
This constructor is appropriate for list views with a large (or infinite) number of children because the builder is called only for those children that are actually visible.

猜你喜欢

转载自blog.csdn.net/shuijian00/article/details/124772984