Я пытаюсь разобрать чрезвычайно большой json файл на iPad. Размер файла будет варьироваться от 50 до 100 мб (есть начальный файл, и каждый месяц будет один новый полный набор данных, который будет загружен, проанализирован и сохранен в coredata).
Я создаю это приложение для компании как решение для предприятия - файл json содержит конфиденциальные данные клиента, и его необходимо сохранить локально на ipad, чтобы он работал даже в автономном режиме. Он работал, когда файл находился ниже 20 МБ, но теперь набор данных стал больше, и мне действительно нужно его разобрать. Во время разбора я получаю предупреждения о памяти, а после третьего предупреждения он просто падает.
У меня есть несколько разных объектов Core Data, и я просто устанавливаю все значения, исходящие из json файла (когда приложение запускается в первый раз), и после того, как все сделано, я делаю [context save]
.
Я надеялся, что кто-нибудь может дать мне несколько советов о том, как обращаться с такими огромными файлами. Я думал о том, чтобы разбить файл json на несколько меньших json файлов и, возможно, проанализировать их в нескольких потоках, но я не знаю, правильно ли это подходит. Я думаю, одна большая проблема в том, что весь файл хранится в памяти - может быть, есть способ "потокового" его в память или что-то в этом роде?
Я использую JSONKit (https://github.com/johnezang/JSONKit) для разбора файла, так как я прочитал, что он самый быстрый (возможно, более медленный, который проще по памяти?).
Спасибо заранее.