我正在使用以下行在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