0

私の知る限り、Android のリストビューは仮想化されたデータを表示する (つまり、目に見えるものだけをロードする) ため、可能な限り高速です。

データベースから取得するデータが大量にあり (約 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"));

どうにかしてデータ取り出しを仮想化して読み込みを高速化すると良いでしょう。

また、リスト全体を検索するリストビューでの検索も使用します。を考えるのも良いでしょう。

何を指示してるんですか?どのように進めればよいですか?

4

1 に答える 1

1

コンテンツ プロバイダーCursorLoaderをペアリングすると、問題が解決するはずです。

于 2014-06-25T08:38:19.637 に答える