Утечка - GeneralBlock-3584 - PullRequest
       15

Утечка - GeneralBlock-3584

8 голосов
/ 25 января 2009

Когда я пытаюсь проверить утечки моего iPhone приложения с помощью инструментов, все просто отлично. Одно и то же приложение на реальном устройстве несколько раз показывает эту утечку во время запуска приложения. Это довольно недетерминировано, и это происходит в системных библиотеках. Я попытался отыскать решение без удачи. Кто-нибудь испытывает те же проблемы? Кто-нибудь знает решение?

Мне кажется интересным, что каждая моя утечка в коде рано или поздно приведет к сбою приложения. Эти утечки GeneralBlock-3584 обеспечивают стабильную работу приложения. Может ли это быть причиной отказа AppStore?

Спасибо за любой ответ относительно этой недокументированной проблемы (Apple, к сожалению, молчит).

Ответы [ 4 ]

8 голосов
/ 10 сентября 2009

Вам не о чем беспокоиться, это ложное срабатывание Инструментов.
Это связано с освобождением ресурсов завершившегося потока. Они просто торчат, пока не закончится следующий поток, и очищают ресурсы после того, который был прерван ранее. Инструменты воспринимают это как «утечку», но это особенность реализации pthreads на iOS, которая в идеальном мире будет обрабатываться иначе. Подробнее об этом на форуме разработчиков Apple здесь и здесь .

7 голосов
/ 31 января 2009

Инструменты обнаружения утечек часто могут давать ложные срабатывания, особенно в базовых системных библиотеках.

Я знаком с этими «просочившимися» блоками GeneralBlocks, и в моем опыте они не вызвали отторжения в App Store.

IANAASRW **, но я думаю, что ты в порядке.

** Я не мастер обзора App Store

0 голосов
/ 23 октября 2009

Есть ли у вас UserDefaults, которые вы не указали в Настройках для инициализации во время тех "первых нескольких раз", когда вы запускали свое приложение?

Я видел ту же проблему - приложение было (относительно) чистым на последнем Xcode / Simulator (там была обычная пара 128-битных malloc - но это чисто проблема Simulator с UIViews). Как только я запустил его на iPod Touch, я увидел GB3584.

Однако после перехода в Настройки и изменения настроек (что привело к сохранению *) проблема исчезла.

  • Я использую пример кода Apple для UserDefaults, чтобы правильно прочитать эти настройки без необходимости сначала заходить и что-то менять.

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

0 голосов
/ 01 июня 2009

Есть утечки в рамках Apple. В частности, классы HTTP. Вы должны поднять отчет о неисправности радара.

...