5

SQLite データベースからメモリに 10,000 行をロードする最速の方法は何ですか? 各行には 1 つのテキストと 4 つの整数があります。現在、私はこれをやっています:

while(!cursor.isAfterLast()) {
    cursor.copyStringToBuffer(column_index_1, buffer);
    cursor.copyStringToBuffer(column_index_2, buffer);
    cursor.copyStringToBuffer(column_index_3, buffer);
    cursor.copyStringToBuffer(column_index_4, buffer);
    cursor.copyStringToBuffer(column_index_5, buffer);
    cursor.moveToNext();
}

上記のコードは、Galaxy Nexus で約 750 ミリ秒かかります。古いデバイスでは、数倍遅くなる可能性があります。速くすることはできますか?

(この時点で、おそらく「行をメモリにロードする必要があるのはなぜですか?」のようなものを入力しているでしょう。少し複雑ですが、誰かが興味を持っている場合は説明を試みることができます。編集: 説明は次のとおりです: https://gist .github.com/fhucho/af355d56ae3145e3e30f )

4

1 に答える 1

2

最初に、最初の 1000 行のみをロードしてから、AsyncTask を使用してさらにロードすることをお勧めします。

ここで応答を見つけることができますhttp://www.javasrilankansupport.com/2012/11/asynctask-android-example-asynctask-in.html

この助けを願っています

于 2013-06-10T13:23:58.460 に答える