Я работаю над проектом, который требует хранения растровых изображений на столе. Эти растровые изображения используются в адаптерах данных для отображения в списках. Эта таблица может содержать более 1000 изображений. Причина, по которой я сейчас не сохраняю файл, связана с тем, насколько быстро я могу читать и записывать изображения в db.Как курсор SQLite работает внутри?
В основном я ищу, чтобы понять ограничения курсора SQLite. Как курсор загружается в память? Поместит ли он результаты запроса в память или создает ли какой-либо тип файла чтения/записи temp? Я не хочу сталкиваться с проблемами, когда запрос больших наборов данных приводит к тому, что у устройства заканчивается память.
Существует [CursorWindow] (http://developer.android.com/reference/android/database/CursorWindow.html), и он, кажется, используется для загрузки только частей запроса всякий раз, когда вы перемещаетеToXyz'. Данные должны поступать непосредственно из базы данных. – zapl
«Я работаю над проектом, который требует хранения растровых изображений на столе». - ick. «Эта таблица может содержать более 1000 изображений». - больше. «Причина, по которой я в настоящее время не сохраняю файл, связана с тем, насколько быстро я могу читать и писать изображения в db». - по определению файл будет таким же быстрым или быстрым, поскольку SQLite должен хранить свои файлы в файле. – CommonsWare
zapl спасибо за информацию. @CommonsWare Не уверен, что означает ick: P Я думаю, что кажется, что он должен быть быстрым или быстрым читать из файла, чем db. Я мало знаю о курсорах, кроме как их использовать ... но SQLite не оптимизирует, как вы читаете данные? Я имею в виду, что чтение данных изображения из файла несколько раз кажется намного медленнее, чем чтение их из курсора. – Jona