如何从ActiveAndroid获取数据以支持ListView虚拟化

时间:2014-06-10 09:19:09

标签: android listview activeandroid

据我所知,Android listview显示虚拟化的数据(意味着它只加载可见的数据),因此速度很快。

我从数据库中获取了大量数据(大约2000年,但是在字段中有大量数据),我在AsyncTask中使用ActiveAndroid来获取它们。

不幸的是,带有AA的AsyncTask需要大约10-15秒来获取数据,因此我在此期间看到了一个进度条。

我得到了他的代码:

  LocalDateTime start=new LocalDateTime();
  LogCat("Start: "+start);
     elements = new Select().from(Data.class)
        .where("Data_Id=?", DataId).orderBy("Name ASC").execute();

  LogCat("Elements: "+elements .size());
  LocalDateTime end=new LocalDateTime();
  LogCat("End: "+end);
  LogCat("Time: "+(new Period(start,end).getSeconds()+" s"));

通过以某种方式虚拟化数据检索来加速加载会很好。

我还在listview中使用搜索,搜索整个列表。所以考虑到这也会很好。

你有什么建议?我该怎么办?

1 个答案:

答案 0 :(得分:1)

配对content providerCursorLoader可以解决您的问题。