Рекомендации по производительности для android sqlite (прямой доступ к данным через всегда открытое соединение / курсор VS по запросу и пользовательские объекты) - PullRequest
0 голосов
/ 31 января 2011

Я в настоящее время портирую приложение для iphone на Android. Это приложение интенсивно использует данные sqlite. на iphone я заполняю свои пользовательские объекты данными sqlite, открываю и закрываю свое соединение с базой данных несколько раз по требованию

Однако на Android я не сталкивался со многими учебниками, которые следуют этому подходу. они просто используют курсор и отображают данные напрямую, без использования пользовательских объектов и коллекций

Я хотел знать, была ли какая-то особая причина для этого на андроиде? что бы вы предложили мне здесь? то есть: возможно ли иметь всегда включенное соединение / курсор для базы данных sqlite на андроиде и отображать данные напрямую ИЛИ идти по пути iphone, чтобы заполнить коллекцию пользовательских объектов из sqlite и вместо этого привязать данные пользовательского интерфейса к этой коллекции sqlite-курсора

заранее спасибо, ребята

1 Ответ

0 голосов
/ 31 января 2011

Я не думаю, что оптимальный подход будет зависеть от платформы в какой-либо значительной степени.

  1. Sqlite поддерживает кэши в соединении, поэтому обычно выгодно держать соединение открытым.
  2. Вы можете сэкономить время, подготовив заявления один раз и использовав их повторно.
  3. Запуск запроса довольно значительный, поэтому объедините все, что вам нужно, в одном запросе. Получение списка объектов в одном запросе и запуск отдельных запросов для отдельных объектов выполняется очень медленно по сравнению с оператором соединения.
  4. Если вы можете заполнять объекты пользовательского интерфейса непосредственно из базы данных, то прохождение любых промежуточных объектов просто создает ненужную нагрузку на менеджер памяти (будь то ga
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...