nikkorejz
@nikkorejz
Android developer

Что лучше использовать, SQLite, сохранение в файл или SharedPreferences?

Через что лучше реализовать историю посещений чего-либо в android приложении, т.е. что лучше подобрать из перечисленного в заголовке вопроса? Приведу пример, вот есть ListView который заполняется через
List<Map<String, String>> array = new ArrayList<Map<String, String>>;
и его нужно сохранять при каждом добавлении элемента, я пробовал через файл, но однако эта процедура снижает производительность, и при включении фрагмента с этим LV сильно тормозит приложение некоторое время (так как загружает Map из файла), даже AsyncTask здесь не помог.

К тому же, мне нужно удалять повторяющиеся элементы из ListView, а после загрузки из файла, приложение как-будто не видит, то что было загружено из файла, и удаляет из только что добавленных, но не сохраненных элементов, т.е. те которые еще не пошли в файл, а те, которые были загружены, оно игнорирует. Но это уже другая история.

Слышал, что при конвертировании в строку JSON, а после в SharedPreferences, можно тоже отхватить по производительности, если массив будет большой, и кроме этого, мне надо сохранять не просто ArrayList, а Map, т.е. сохранять нужно объект, а не строку через цикл for. Что можете посоветовать в данном случае?
  • Вопрос задан
  • 3361 просмотр
Решения вопроса 1
viwoam
@viwoam
I solve problems!
по сути для вас лучшее решение будет реляционная база данных, sqlite. Быстродействие в поиске и персистности данных. Да и последующие реализации будут гибкими / шустрыми
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы