Я строю алгоритм синтаксического анализа, используя NSXMLParser. У меня есть сомнения относительно того, что является лучшей стратегией для сохранения моего использования памяти на минимуме.NSXMLParser стратегия памяти iPhone для больших xml
У меня есть объект valueObject (например, «Person»), этот объект имеет ≈ 30 свойств NSString, а при разборе xml я постоянно выделяю и отпускаю временный объект Person при переходе узлов. Я проверил это, и в любой момент создается только один из этих объектов Person. Когда узел перемещается, а Person «build», я передаю Person в NSMutableArray и освобождаю это Person. Кажется, проблем нет. (Мне нужен массив для tableView). Когда я достигаю 50+ объектов Person в массиве, мое приложение просто завершает работу, didReceiveMemoryWarning не вызывается, никаких других предупреждений, no parseErrorOccurred, ничего?
Если я ограничу количество человек в xml, приложение просто отлично, я не смог найти утечки памяти с помощью инструментов. Я думаю, что я просто не могу удержать 50+ объектов Person в массиве ... кажется немного суровым, но у меня не так много опыта работы с iPhone, так что это всего лишь предположение.
xml - это результаты поиска, из которых пользователю, вероятно, нужно всего несколько, поэтому сохранение их в моей базовой модели, чтобы держать их вокруг для отображения, кажется немного сумасшедшим.
Что было бы хорошей стратегией для хранения объектов Person? или мне не хватает огромной утечки памяти, так как iPhone должен иметь возможность обрабатывать гораздо больше, чем это?
Надежда некоторые опытные разработчики могут мне точку в правильном направлении :)
Спасибо!
Некоторые примеры кода будет полезным – ACBurk