Привет всем, у меня проблема, и мне нужен совет.
Я работаю над средством просмотра документов, которое состоит из следующих основных частей:
- zipбиблиотека, которая распаковывает контейнер документов (minizip)
- xml библиотека, которая анализирует документ (libxml2)
- код пользовательского интерфейса, который отображает документ на экране
Ничего слишком сложногоили фантазии.
На эмуляторе все прекрасно работает;зритель выполняет, как ожидалось.Я проверил его через инструменты, и нет никаких утечек.ObjectAlloc сообщает о 5,5 мегабайтах, выделенных за время существования программы просмотра (это многократно открывает мой тестовый документ).
К сожалению, на устройстве (iphone 3G, iOS 3.1.2) все не так ясно.Довольно часто повторное открытие тестового файла вызывает ошибку нехватки памяти, и файл не открывается.Начальное открытие файла всегда работает.Несмотря на то, что тестирование на эмуляторе не выявило утечек и общий объем памяти был скромным, я вынужден сделать вывод, что на iphone действительно есть утечка (потому что, почему повторное открытие вызывает ошибку из-за нехватки памяти).
Я пытался запустить инструменты на устройстве, но приложение зависло (?!) На полпути, так что на самом деле у меня не получилось запустить Leaks.
Я считаю, что где-то есть значительная утечка, которая обнаруживается только на устройстве.Итак, у меня есть две опции (в произвольном порядке):
- Рефакторинг моего кода таким образом, чтобы избежать использования библиотеки zip.Это устранит потенциальный источник утечек.Трудоемкий и неокончательный.
- Переформатируйте и переустановите все на моем телефоне (возможно, есть что-то, что вызывает проблемы там).Примерно так же, как и выше, отнимает много времени и теряет данные моего телефона.Может быть, это позволит мне запустить Утечки.
Как вы видите, я достигаю здесь.Есть ли что-то очевидное, чего мне не хватает?
Заранее спасибо, ребята.