Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is SQLite cursor.getCount expensive operation in Android

Tags:

android

sqlite

Is SQLite cursor.getCount() expensive operation when executed on Android device?

Which is faster:

Cursor cursor = db.rawQuery(sql, null);
int length = cursor.getCount();
final List<Item> items = new ArrayList<Item>(length * 2); // need maybe 2 items per row

if (cursor.moveToFirst()) {

      // loop trough the query result
      do {
...

or

Cursor cursor = db.rawQuery(sql, null);
final List<Item> items = new ArrayList<Item>();  // capacity is 0 by default on android

if (cursor.moveToFirst()) {

      // loop trough the query result
      do {
like image 392
peceps Avatar asked Sep 12 '25 09:09

peceps


1 Answers

If you compare the time required for both code samples to execute, you'll notice it's the same because Cursor.moveToFirst() is eventually calling SQLiteCursor.getCount()

like image 55
a.ch. Avatar answered Sep 13 '25 23:09

a.ch.