эффективность применения переменной? - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть база данных, из которой мне нужно извлечь довольно много данных. Теперь я получаю эти данные, когда это необходимо, то есть я создал класс, который обрабатывает взаимодействия с базой данных, и всякий раз, когда активность требует данных, она вызывает этот класс для данных. Таким образом, за один раз активность имеет только минимальный объем данных в памяти (т. Е. Данные, которые она использует). Но каждый раз, когда я изменяю действие, мне нужно выполнять доступ к базе данных, чтобы получить данные для нового действия.

Метод 2

В отличие от этого у меня есть другая альтернатива, в которой я создаю объект приложения, а затем вначале выполняю доступ к базе данных, а затем сохраняю все данные, которые мне потребуются (во всех действиях), в объекте приложения. Всякий раз, когда мне нужны данные, я ссылаюсь на объект приложения. Недостатком этого является то, что у меня будет слишком много дополнительных данных, которые я не использую в данный момент.

Какой из двух вышеуказанных подходов лучше?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2012

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

0 голосов
/ 01 февраля 2012

Это зависит от ваших требований и их приоритетов. Если время, необходимое для решения 2, слишком велико, чтобы вы его приняли, оптимизируйте его (например, с помощью метода 2, но в целом я бы рекомендовал не хранить потенциально всю вашу базу данных в памяти ... при условии, что объема памяти будет достаточно).

Пробовали ли вы решение 1. Если проблема заключается только в чтении данных из базы данных, загрузка данных для одного действия не займет слишком много времени. Если используются сложные расчеты, вам может потребоваться оптимизировать. Но не оптимизируйте на всякий случай!

...