Утечки не вызваны кодом приложения - будет ли оно одобрено? - PullRequest
2 голосов
/ 09 февраля 2010

Еще один вопрос с памятью на iPhone - при запуске приложения для утечек я вижу, что обнаруживается ряд утечек, но они вызваны NSFoundation или подобным, а не кодом моего приложения. Там, где упоминается имя моего приложения, я, очевидно, устранил утечку.

Я предполагаю, что могу игнорировать их и что мое приложение будет одобрено, или я неправильно читаю данные?

Также - должно ли приложение иметь нулевые утечки памяти, прежде чем оно будет одобрено?

Приветствия

Ответы [ 3 ]

2 голосов
/ 09 февраля 2010

Утечки памяти не приведут к отклонению вашего приложения, если только это не приведет к общей нестабильности - например, утечка при перемещении вперед / назад между представлениями в конечном итоге приведет к сбою приложения.

Это говорит о том, что в библиотеках SDK мало утечек, поэтому убедитесь, что утечка не является результатом того, что делает ваш код.

2 голосов
/ 09 февраля 2010

Любые утечки, обнаруженные яблоком при тестировании собственных вещей, будут исправлены (и Apple определенно проверяет утечки). Фреймворки не являются полностью утечками, но опасно полагать, что проблема в фреймворках. Вот пара вещей, о которых нужно помнить:

(1) При утечке объекта все дерево, свисающее с него, также будет считаться утечкой. Предположим, что объект класса NSPrivateWhosit, о котором вы никогда не слышали, просочился. Обязательно ли это делает проблему Apple? Нет, это может быть что-то, использованное экземпляром NSPublicClass, который вы пропустили.

(2) Если объект выделен в Foundation и передан вам, и вы сохраните его, то вы можете его утечь. Обратный след распределения не имеет значения. Что важно, так это обратный след несбалансированного удержания.

0 голосов
/ 09 февраля 2010

Ваше приложение будет одобрено даже с утечками памяти (по крайней мере, мое приложение с ошибками получило одобрение).

...