14

我正在使用以下几行来循环 Sqlite 查询的行。

this.open(); // opening db
Cursor cursor = db.rawQuery(strQuery, null);

cursor.moveToFirst();
do {    

    // do something    

} while (cursor.moveToNext());

cursor.close();

当行数约为 15000 时,需要很长时间。whilewhile大约需要 4 秒,有一些代码的块大约需要 6 秒。它表明以这种方式对行进行迭代非常耗时。

有没有更快的方法来循环在 android 和 Sqlite 中的行?

谢谢,

4

1 回答 1

5

优化循环内的操作是提高整个操作速度的唯一方法。例如,如果您getColumnIndex在每次迭代中都进行调用,那么您将失去宝贵的时间。做一次,存储价值。

用于traceView找到您正在浪费时间的地方并在那里进行改进。遗憾的是我无法给出具体的答案,因为我不知道你在循环中做什么。


Traceview 调试

于 2012-09-02T06:27:33.430 回答