Ограничение размера курсора в Android SQLiteDatabase

Я загружаю db из Интернета. Я сохраняю его в папке с папками данных и открываю его. Внутри db есть таблица «Объявления» с 6 полями. 2 из этих полей – BLOB. Когда я хочу читать из этой таблицы … У меня есть некоторые проблемы … Я заметил, что когда я читал строку с полем blob размером более 1 мегабайта, это вызывает исключение … »получить полевой интервал из строки 0 col 0 не удалось “. если это немного blob, все в порядке … спасибо заранее 🙂

Из-за динамической декомпрессии существует предел 1MB на внутренние активы; предел 1 МБ также, по-видимому, применяется к курсорным блокам, но это нигде не документируется.

Как правило, вы должны избегать блоб в SQLite, поскольку они плохо работают; вместо этого сохраните данные blob как файл и сохраните местоположение файла в вашей БД.

Чтение BLOB, которое составляет менее 100 КБ из базы данных SQLite, быстрее, чем чтение того же из файловой системы. Тем не менее, что-то большее, чем это лучше всего хранить на диске, со ссылкой в ​​db. Подробнее: http://www.sqlite.org/intern-v-extern-blob.html

Для каждой операции существует ограничение 1 МБ. (Я не уверен, что это за строку или за столбец в случае запросов SQLite). Ограничение связано с тем, что SQLite API взаимодействует с незавершенным процессом sqlite через систему IPC Binder / Parcel. Тот же предел применяется для значений внутри Bundle (например, для Intent).

Буфер транзакции Binder имеет ограниченный фиксированный размер, в настоящее время 1 Мб, который совместно используется всеми транзакциями, выполняемыми для процесса.

См. http://developer.android.com/reference/android/os/TransactionTooLargeException.html.

Является ли запрос, который вы используете, «выбираете» указанный blob? Можете ли вы это пропустить? Если вы не можете, используете ли вы:

blob = rs.getBlob(column) ; InputStream in = blob.getBinaryStream(); 

или

  blob.getBytes(1, lengthOblob) ; 

Первый способ позволит вам прочитать кусок блоха. Второй будет иметь загруженный blob все сразу.

Похоже, что поддержка BLOB в Android еще не реализована …

http://www.basic4ppc.com/forum/basic4android-updates-questions/6648-support-sqlite-blob.html

Какие данные хранятся в полях BLOB? Я бы предпочел фотографии.

Я бы рекомендовал НЕ использовать BLOB. Файловая система – намного лучший выбор для двоичных данных.

Можете ли вы объяснить немного больше о том, чего вы хотите достичь с помощью базы данных?

  • Использование jQuery для получения размера windows просмотра
  • Что делает звезда WPF (Width = "100 *")
  • resize массива
  • увеличить размер кучи java навсегда?
  • Может кто-нибудь объяснить этот код шаблона, который дает мне размер массива?
  • Как определить искусственный смелый стиль, искусственный курсив и искусственный контурный стиль текста с помощью PDFBOX
  • Почему размер моего приложения на устройстве отличается от размера APK или Play Store
  • Как получить размер объекта JavaScript?
  • C # FileStream: оптимальный размер буфера для записи больших файлов?
  • Размер пустых пакетов UDP и TCP?
  • Как узнать размер сеанса в ASP.NET из веб-приложения?
  • Interesting Posts

    Apache2 RewriteRule не работает

    Правильный способ переименования решения (и каталогов) в Visual Studio

    «Современный» Ethernet по коаксиальному кабелю

    Внутренняя система позиционирования на основе гироскопа и акселерометра

    Массивы декодирования Swift JSONDecode терпят неудачу, если сбой одного элемента

    Как преобразовать int в NSString?

    firefox overflow-y не работает с вложенным flexbox

    Как удалить дублирование кода между аналогичными функциями const и non-const?

    Как лучше всего клонировать запущенную систему на новый жесткий диск с помощью rsync?

    Добавить сериализатор JSON для каждого classа модели?

    Добавление таблицы в существующий PDF на той же странице – ITEXT

    Бесплатный Duplicate mp3 finder

    Как загрузить части одного и того же файла из разных источников с помощью curl / wget?

    Будет ли перезапуск Windows 10 удалять разделы Linux?

    Код C ++ для проверки гипотезы Collatz быстрее, чем assembly вручную – почему?

    Давайте будем гением компьютера.