【问题标题】:Android ScrollView Vs ListViewAndroid ScrollView 与 ListView
【发布时间】:2014-02-16 09:05:08
【问题描述】:

我正面临一个视图的实现,我必须在列表中加载大约 100 个项目。我怀疑哪一种可能是实现它的最佳方式。 我已经知道ListView 回收视图,ScrollView 将所有内容保存在内存中。关键是我正在考虑将分页应用到Scrollview 以避免应用程序膨胀所有项目时的巨大加载时间。

Google+、Facebook、twitter 或 Linkedin 等应用程序,你认为他们使用 ListView 吗?

谢谢

【问题讨论】:

    标签: android listview optimization view scrollview


    【解决方案1】:

    ListView 绝对是要走的路。比ScrollView好用,而且分页系统不符合android的风格。

    ListView 旨在根据一组信息创建一个可变长度的列表。 ScrollView 用于在 View 中(通常)设置数量的子项(在布局 xml 中定义)。

    ListViews 不会膨胀所有项目,它们会膨胀,但一次可以在页面上容纳许多项目。无论有没有分页,您最快的选择是 ListView。但是,如果每个孩子都是完全不同的,那么 ScrollView 就是要走的路。

    【讨论】:

    • 孩子之间存在差异,这就是为什么我要求添加 Facebook、Google + 的示例...我只是想了解如何优化它,因为目前使用 ScrollView 我是在显示视图的步骤中存在巨大延迟,即使在其他线程中执行也是如此。感谢您的回答,不要添加更多额外的负面因素。
    • 有什么区别?您是以编程方式将视图添加到滚动视图,还是所有视图都在 xml 布局中定义?孩子们有什么不同?它们只是不同的内容还是完全不同的布局?我对 Facebook 毫无头绪,但我支持使用 google+ 和 Gmail 的 ListView
    • 我已经设法找出我的错误在哪里。当我在一个项目中处理图片时,即使在使用 DiskCache 实现 Volley Library 时,当每张图片都可见时我也有很大的延迟。我尝试使用 Scrollviews 来实现它,它解决了我对少量项目的问题,但是对于一个巨大的列表它不起作用。我不知道JakeWharton DiskLruCache。将 JackeWharton 库与 Volley 结合解决了我的延迟问题,然后 ListView 非常适合使用它。底线是我的方法是错误的图像。谢谢
    • @Kylelem62 您的回答节省了很多时间。谢谢。
    • 我同意你的所有观点,除了:“但是,如果每个孩子都完全不同,那么 ScrollView 就是要走的路。” ListView(或特别是 Adapter#getItemViewType(int))支持不同的 listItem 类型。它还提供与上述相同的回收优势。因此,我不认为拥有不同的列表项类型是使用 ScrollView 的理由。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多