Сбой обновления базовой модели данных из-за нехватки памяти на iPhone - PullRequest
0 голосов
/ 02 мая 2011

В обновлении приложения для iPhone появилась новая версия модели основного хранилища данных. Я использую пользовательский NSEntityMigrationPolicy. Однако с большими хранилищами данных ядра на старых iDevices (то есть с меньшим объемом памяти) он падает в середине обновления из-за нехватки памяти. Какие существуют стратегии для решения этой проблемы?

Ответы [ 2 ]

0 голосов
/ 03 мая 2011

См. Руководство по программированию версий базовой модели данных и миграции данных: несколько проходов - работа с большими наборами данных

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

0 голосов
/ 02 мая 2011

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

...