Можно ли настроить задания ActiveBatch на запуск и оповещение, если запущены другие задания

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

Я не вижу связи между использованием разных сущностей и памяти Применение. Это не должно иметь значения (если у вас нет какой-то странной настройки с тысячами отношений), учитывая, что вы следуете правилам управления памятью, которые применяются к Core Data.

Основные правила:

  • Если вы выполняете операции в цикле, убедитесь, что вы освободили пул автозаполнения.
  • После того, как экземпляры NSManagedObject больше не нужны, и их количество сказывается на использовании памяти, вы можете превратить их в ошибки, вызвав refreshObject:mergeChanges: в контексте.
  • Вы также можете вызвать reset в контексте, чтобы аннулировать все выбранные управляемые объекты (помните, что вы не должны использовать эти недействительные объекты после вызова сброса).
  • Остерегайтесь циклических ссылки - в основном, объекты, связанные с отношениями, имеют такие типы ссылок, и вам может потребоваться включить их в контекст вручную / сброс или просто полностью отказаться от контекста управляемых объектов.

Советы для получения данных:

  • Если вам нужно извлечь много данных, и это возможно, используйте Тип результата словаря, поскольку словарь занимает гораздо меньше памяти, чем экземпляры управляемых объектов.
  • Примените fetchLimit к NSFetchRequest, чтобы ограничить количество получаемых объектов. Объедините его с fetchOffset, чтобы получить «окно» данных.
  • Также рассматривается «fetchBatchSize».
0
задан Grasshopper 19 January 2019 в 16:29
поделиться