ListView vs SingleChildScrollView



嗯,我正在制作一个聊天应用程序,我很困惑应该选择哪个组件来呈现聊天,在SingleChildScrollViewListView之间,我读了几篇文章,他们建议

SingleChildScrollView,因为它是一个聊天应用程序,所以每个聊天气泡将不相同,因此ListView将不具有性能。

但是,在SingleChildScrollView中,即使列内的所有项不在ViewPort中,或者换句话说,它们也会立即呈现。这样做不应该占用内存。

我应该选择哪一个呢?

您应该选择ListView.builder(),因为它可以按需创建项目。

的例子:

child: ListView.builder(
reverse: true,
scrollDirection: Axis.vertical,
padding: const EdgeInsets.only(top: 35, bottom: 25),
itemCount: messages.length,
controller: controller,
itemBuilder: (context, index) {
return ChatBubble(
time: messages[index].time,
chatPartner: chatPartner,
message: messages[index].message,
isMe: messages[index].sentBy != cId ? true : false,
);
},
),

文档:https://api.flutter.dev/flutter/widgets/ListView/ListView.builder.html

相关内容

  • 没有找到相关文章

最新更新