Шаблон приложения Iphone SDK Utility имеет утечку

Я только создаю проект с шаблоном приложения Utility. Этот шаблон имеет утечку памяти, когда я нажимаю "информационную кнопку" на переверните представление.

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

Ответы

Ответ 1

Это может быть утечка, или это может быть не утечка. Если бы вы добавили обратную линию распределения, это было бы полезно.

Скорее всего, это не утечка, а какая-то информация о бухгалтерском учете, которую спрятал dyld, который протекает /Instruments теряет следы.

Учитывая, что это 128 байт, и я предполагаю, что есть только один из них, я бы рекомендовал вам записать ошибку через http://bugreport.apple.com, а затем забыть об этом сейчас, так как в маловероятном случае, когда это действительно утечка, вы также вряд ли сможете исправить это из своего приложения.

Ответ 2

Получил утечку:

XCode 3.2 -

Файл, новый проект, навигационное приложение
Дайте ему имя
Построить его
Run With Performance Tools → Утечки

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

Примерно через 7 секунд после запуска вы должны увидеть утечку: - Malloc 128 байтов, некоторый адрес, 128 байтов, CoreGraphics, open_handle_to_dylib_path

Я проследил его до этого кода в AppDelegate:

//APPLE CODE
- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after app launch    

    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
}

Я вырвал навигационный контроллер (сделал отдельное выделение и освобождение) и COMMENTED OUT addSubview: действие - утечки не было - и, очевидно, экран был пустым.

Только после того, как я попытался добавить addSubview, произошла утечка. Поскольку существует множество способов добавить subview, я пробовал их. Каждый из них приводил к утечке или пустым экранам.

Ответ 3

Надеюсь, что это поможет.

От: http://www.cocos2d-iphone.org/forum/topic/2460

"В симуляторе есть ошибки, связанные с синглтонами и файлами llvm, которые неправильно сообщаются с помощью инструментов. Всегда проверяйте свои утечки на самом устройстве".

Ответ 4

Я попробовал это на реальном iPod touch. Никакой утечки не сообщалось. Вероятно, просто симулятор...

Ответ 5

Утечки отметили open_handle_to_dylib_path в CoreGraphics для меня; здесь определенно что-то помечено. Так как это всего лишь 256 байтов на самом тяжелом, я выпустил отчет об ошибке в Apple и назвал его завершенным. Затем вы можете установить правило в конфигурации "Утечки", чтобы игнорировать отчет.

Как отметил bbum, на работе может быть серьезное вуду. Я серьезно сомневаюсь, что Apple выпустит протекающие рамки через QA - тем более, что так легко воспроизвести.

Ответ 7

В текущем шаблоне утилиты SDK нет утечки. Как у вас создалось впечатление утечки в шаблоне? Он просто выделяет память, которая необходима для представлений.

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

Ответ 8

У меня была та же проблема, но я смог понять, почему это произошло. И я кратко рассказал об этой проблеме в этой статье .

Может быть полезно для вас.