ListView部署并重新创建所有子级的State和RenderObject

时间:2020-10-21 13:49:23

标签: flutter

我正在处理ListView中的视频,并且由于不必要地丢弃了对象,因此它多次下载相同的视频。因此,性能受到严重打击。下面是列表视图的代码。我也尝试过Listview.builder和Listview,但是都表现出相同的行为。

ListView.custom(
      childrenDelegate: SliverChildBuilderDelegate(
          (BuildContext context, int index) {
            return VideoPlayer(
              id: snapshot.data[index]['url'],
            );
          },
          childCount: snapshot.data.length,
          findChildIndexCallback: (Key key) {
            final ValueKey valueKey = key;
            final String data = valueKey.value;
            return snapshot.data
                .indexWhere((element) => element['url'] == data);
          }),
      controller: controller,
    );

0 个答案:

没有答案