Как загрузить более 1 МБ данных из sqlite дБ на курсор Android?
Именно я пытаюсь загрузить более 1 МБ данных из базы данных sqlite на курсор Android. Во время загрузки выдает следующую ошибку:
08-04 11:10:15.813: ERROR/CursorWindow(4465): need to grow: mSize = 2097152, size = 403719, freeSpace() = 209669, numRows = 1
08-04 11:10:15.813: ERROR/CursorWindow(4465): Attempting to grow window beyond max size (2097152)
08-04 11:10:15.813: ERROR/Cursor(4465): Failed allocating 403719 bytes for blob at 0,13
08-04 11:10:15.813: DEBUG/Cursor(4465): finish_program_and_get_row_count row 0
08-04 11:10:15.899: ERROR/CursorWindow(4465): need to grow: mSize = 2097152, size = 403719, freeSpace() = 209669, numRows = 1
08-04 11:10:15.899: ERROR/CursorWindow(4465): Attempting to grow window beyond max size (2097152)
08-04 11:10:15.899: ERROR/Cursor(4465): Failed allocating 403719 bytes for blob at 0,13
08-04 11:10:15.899: DEBUG/Cursor(4465): finish_program_and_get_row_count row 0
08-04 11:10:15.899: ERROR/CursorWindow(4465): Bad request for field slot 0,0. numRows = 0, numColumns = 14
08-04 11:10:15.899: DEBUG/AndroidRuntime(4465): Shutting down VM.
Если кто-нибудь знает, как загрузить большие данные (более 1 МБ) на курсор Android? Спасибо,
1 ответ
Решение
Не храните капли размером 500 КБ в вашей базе данных. Храните идентификаторы в вашей базе данных и помещайте большие двоичные объекты как файлы в хранилище. Если вы используете MODE_PRIVATE, они не будут доступны другим процессам.