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

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

cursor.moveToFirst();
do {

    // do something

} while (cursor.moveToNext());

cursor.close();

当行数大约为15000时,它将花费很长时间。 空的while大约需要4秒,而包含某些代码的while块大约需要6秒。它表明以这种方式在行上进行迭代非常耗时。

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

谢谢,

最佳答案

优化循环中的操作是提高整个操作速度的唯一方法。例如,如果您在每次迭代中都进行getColumnIndex调用,则会浪费宝贵的时间。进行一次,存储值。

使用traceView可以找到您在哪里浪费时间,并在那里进行改善。可悲的是我无法给出具体答案,因为我不知道您在循环中正在做什么。

Traceview Debugging

09-30 13:10
查看更多