Магазин Android SQLite
У меня есть база данных sqlite, которая будет заполнена из веб-сервиса изначально 1000 записями, тогда я буду вставлять в нее больше записей каждый раз, когда мне нужно будет это сделать. у меня вопрос, где хранить базу данных sqlite на устройстве таким образом, чтобы продолжать вставлять (во внутренней или внешней памяти), т.е. если я храню базу данных во внутренней памяти и когда внутренняя память заполняется, я могу переместить ее на внешнюю и продолжить вставку ИЛИ, если я храню его во внешнем хранилище, и внешнее хранилище заполняется, а во внутреннем есть свободное место, я могу перейти к внутреннему и продолжать вставлять данные. Я очень запутался в этом, можете ли вы помочь мне с любым предложением или ссылками, пожалуйста
2 ответа
Следующий ответ я даю исходя из своего личного опыта.
Первое предложение (внутренняя / память телефона)
Когда вы храните базу данных во внутренней памяти, то для производительности это очень хорошо. Поскольку ваше приложение будет установлено во внутренней памяти, поэтому при вставке 1000 записей и других записей для приложения будет проще получить доступ к базе данных. Производительность приложения будет очень хорошей. Но когда дело доходит до ограничений памяти, когда внутренняя память будет заполнена более чем достаточно, производительность вашего устройства будет снижаться. Поэтому внутренняя память лучше всего подходит для базы данных среднего уровня.
Второе предложение (внешняя память, SD-карта)
Когда вы храните базу данных во внешней памяти, такой как SD-карта, то для производительности производительность приложения будет немного ниже, чем во внутренней памяти. Однако это не будет значимым для базы данных среднего уровня. Когда данных очень мало, производительность будет одинаковой в обоих случаях. Теперь, когда вы используете внешнюю память, у вас большой размер хранилища данных. Я не думаю, что это никогда не будет заполнено полностью. Но в случае большого количества записей производительность будет ниже. Иногда может случиться так, что приложение вылетает.
Я не уверен, что это хорошая идея. Если у вас есть веб-сервис, который может предоставить вам необходимые данные, вы должны использовать локальные базы данных только для кэширования небольшой части данных. В противном случае, как вы только что сказали, вы закончите заполнять как внутренние, так и внешние воспоминания.