何时使用延迟加载和何时不使用。?

时间:2013-01-08 06:30:15

标签: android android-listview android-lazyloading

我在数据库中有5000个名字。我希望所有这些名称都膨胀到ListView上。其中包含以下要素

  1. 图标图片(本地存储在Drawables中)
  2. 名称
  3. 以公里为单位的距离
  4. 我使用搜索过滤过滤此listView,如下所示:

    adapter.getFilter().filter(someText);
    

    我也在对listview进行排序,例如:按字母顺序排序listView名称(A-Z和Z-A)。 在listView适配器上完成排序,如下所示:

    adapter.sort(new Comparator<String>() {
    
                    @Override
                    public int compare(String lhs, String rhs) {
                        return lhs.getPlaceName().compareTo(rhs.getPlaceName());
                    };
                });
    

    现在我很困惑是否考虑到适配器的性能,是否在列表视图上使用名称的延迟加载(因为我有5000多个名称)。请建议。

1 个答案:

答案 0 :(得分:2)

或者,您可以将数据存储在已排序的数据库中,然后应用延迟加载。 因为虽然@Singularity提出的方法非常好,但你最终可能只排序[100,比如说]的块而不是整个数据。此外,您还需要对每个块进行排序。