Android SQL Lite no crece
Estamos creando una aplicación que sincroniza 5000 entradas de calendario con el servidor. El problema es que después de agregar 1913 entradas que no y dando el seguimiento de la pila siguiente. ¿Cuál es el problema?
12-30 11: 48: 16.989: DEBUG / dalvikvm (384): GC_EXPLICIT liberado 5699 objetos / 345848 bytes en 579ms 12-30 11: 48: 22.530: DEBUG / dalvikvm (232): GC_EXPLICIT liberó 2552 objetos / 124160 bytes en 311ms 12-30 11: 48: 24.560: ERROR / CursorWindow (232): necesidad de crecer: mSize = 1048576, tamaño = 414, freeSpace () = 328, numRows = 1913 12-30 11: 48: 24.599: ERROR / CursorWindow (232): no en crecimiento ya que ya hay 1913 fila (s), tamaño máximo 1048576 12-30 11: 48: 24.599: ERROR / CursorWindow (232): La fila no, por lo que volver a la nueva fila de contabilidad de allocRowSlot 1912 12-30 11: 48: 24.620: ERROR / Cursor (232): Error al asignar fieldDir en startPos 0 fila 1912 12-30 11: 48: 27.340: DEBUG / Cursor (232): fila finish_program_and_get_row_count 3266 12-30 11: 48: 28.070: ERROR / Calendar (Vikas) (384): excepción no captada en EasSyncServicejava.lang.NullPointerException 12-30 11: 48: 28.089: ERROR / Calendar (Vikas) (384): La sincronización finalizó debido a una excepción.
- Android java.lang.IllegalStateException: No se pudo leer la fila 0, col 0 de CursorWindow
- Custom ListView con la fecha como SectionHeader (Custom SimpleCursorAdapter utilizado)
- Inspeccionar la base de datos android de sql desde Eclipse
- Error de Android escribiendo datos de ubicación en la base de datos SQLite de la clase LocationListener
- Unir 3 tablas en la base de datos SQLite
- Archivo no encontrado Excepción al intentar abrir base de datos de SQLite android
- Cifrado sqlite para android
- ¿Cuál es el tamaño máximo de la base de datos SQLite en Android?
- Por qué necesitamos onUpgrade (); Método en la clase SQLiteOpenHelper
- Alterar el campo único de la tabla
- Android Lollipop - comportamiento cambiado de SQLite
- Tabla de actualización de Android sqlite siempre devuelve 0
- ¿Cómo obtener el valor de la columna desde el cursor sqlite?
La clase CursorWindow
sólo admite la lectura de 1 MB de datos por consulta:
#define MAX_WINDOW_SIZE (1024 * 1024)
(Fuente)
Pruebe uno o más de los siguientes:
- Solicite menos filas.
- Solicite menos columnas.
- Divida su consulta en consultas más pequeñas y ejecútelas una a la vez.
Una forma de mejorar la situación es almacenar la última fecha de sincronización en el servidor y sincronizar sólo los cambios que han ocurrido desde esa fecha.
SELECT * FROM calendar WHERE modified > 'some date'
Tuve el mismo problema, en mi caso se debió a una NullPointerException analizando la información TimeZone (por desgracia, la pila de seguimiento se pierde en el código).
Tal vez usted está afectado por el mismo problema.
Visita http://code.google.com/p/android/issues/detail?id=21435 , He abierto un problema de google, pero parece que no están interesados en el problema. El problema está actualmente rechazado.
- Cómo detener un servicio de fondo de la notificación
- Android Studio Gradle Fabric con configuraciones de proxy "No se puede conectar a la red"