2012-03-25 7 views
6

Я просто клонировал репозиторий git для рамки SBJson и импортировал исходный код в свое приложение. Ранься профайлер статической памяти и немного испугался результатов, которые я видел. Смотрите картинуSBJson - есть утечки памяти?

enter image description here

Как это возможно? Я сомневаюсь, что разработчик этой очень известной библиотеки этого не видел? И действительно, если запустить профиль памяти, он отображает утечки памяти из этой библиотеки.

Любые идеи? Thx

+0

warrenm ответил правильно , но я хотел бы отметить, что версия 3.2 SBJson делает ошибку компиляции для компиляции без поддержки ARC. –

ответ

8

Похоже, вы используете SBJSON в проекте, у которого нет ARC. Поскольку ARC устраняет необходимость прямого вызова release, код, написанный для ARC (например, SBJSON), вызывает утечку памяти при использовании в проекте, отличном от ARC. Вы должны convert your project to use ARC со встроенным инструментом рефакторинга (Edit> Refactor> Convert to Objective-C ARC, затем явно установите флаг компилятора -fno-objc-arc в любом из ваших источников, который еще не готов к ARC.

+6

Альтернативно вы можете перейти на SBJson v3.0.4, который не является ARC. –

+1

Вы могли бы, но там не является недостатком для преобразования проекта в ARC. Главное преимущество заключается в том, что вы можете воспользоваться исправлениями, введенными в более поздних версиях ваших зависимостей, а не оставаться замороженными во времени. – warrenm