Работа CoreData о сохранении контекста

Я закончил преобразовывать свое приложение для использования уровня CoreData для маленького datawarehouse, который я хочу использовать. У меня есть некоторые опасения по поводу производительности и как лучше всего использовать ее. В особенности: у Меня есть много выполнений, где я читал из атрибутов дисков в файлах: каждый атрибут должен генерировать новый объект, если объект того типа и того значения уже не существует. Так, для каждого файла я читал, я: выполните выборку, чтобы проверить, существует ли тот управляемый объект уже; если да заканчиваются, иначе я создаю объект, присваиваю значение и сохраняю контекст.

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

7
задан Andy 16 January 2010 в 10:38
поделиться

1 ответ

Необходимо сохранить после настройки каждого атрибута.

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

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

Раздел производительности основных данных Руководства может помочь вам планировать. Приборы позволяют увидеть детали основных характеристик данных.

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

11
ответ дан 6 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

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