Android Studio ListView与SingleChildScrollView

4jb9z9bj  于 2023-04-07  发布在  Android
关注(0)|答案(1)|浏览(161)

好吧,我正在做一个聊天应用程序,我不知道应该选择哪个组件来渲染聊天,在SingleChildScrollViewListView之间,我读了几篇文章,他们建议
SingleChildScrollView,因为它是一个聊天应用程序,所以每个聊天气泡不会是相同的,因此ListView将不会是高性能的。
但是,在SingleChildScrollView中,列中的所有项都被同时呈现,即使它们不在ViewPort中,或者换句话说是可见的。这样做不应该是内存效率。
那么我应该选择哪一个呢?

kxeu7u2r

kxeu7u2r1#

你应该选择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

相关问题