¿Hay alguna forma más rápida de iterar a través de las filas de la consulta Sqlite?

Estoy usando las líneas siguientes para hacer bucle en las filas de una consulta de SQLite.

this.open(); // opening db Cursor cursor = db.rawQuery(strQuery, null); cursor.moveToFirst(); do { // do something } while (cursor.moveToNext()); cursor.close(); 

Cuando el número de filas es de 15000, se necesita mucho tiempo. Se tarda unos 4 segundos para el bloque vacío y cerca de 6 segundos para el bloque que tiene algunos códigos. Muestra que iterar en filas de esta manera lleva mucho tiempo.

¿Hay alguna forma más rápida de realizar bucle en las filas de android y Sqlite?

Gracias,

Optimizar lo que haces dentro del bucle es la única manera de mejorar la velocidad de toda la operación. Por ejemplo, si estás haciendo llamadas getColumnIndex en cada iteración, perderás tiempo precioso. Hágalo una vez, almacene el valor.

Utilice traceView para localizar dónde está perdiendo tiempo y mejorar allí. Lamentablemente no puedo dar una respuesta concreta, ya que no sé lo que estás haciendo dentro del bucle.


Depuración de Traceview

  • SQLite en el operador en query ()
  • Datetime ('ahora') da tiempo equivocado
  • Consulta de cursor no sensible a mayúsculas y minúsculas con operador LIKE (que funciona para todos los entornos locales)
  • Cursor finalizado sin cerrar antes () en ListFragment
  • Prácticas recomendadas para exponer varias tablas mediante proveedores de contenido en Android
  • Permitir sólo la entrada de datos únicos con Android SQLite?
  • ¿El uso del texto como clave principal en la tabla SQLite es incorrecto?
  • Abrir y editar archivos PDF en la aplicación de Android con API
  • La manera más rápida y eficiente de pre-poblar la base de datos en Android
  • No puedo crear una base de datos SQLite en mi aplicación android
  • OrmLite SQLiteException: ninguna tabla
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.