Шаблон приложения 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 - тем более, что так легко воспроизвести.
Ответ 6
Это должно быть ошибка. Он отображается в собственном примере Apple, PageControl, который находится здесь:
http://developer.apple.com/iphone/library/samplecode/PageControl/index.html#//apple_ref/doc/uid/DTS40007795
Ответ 7
В текущем шаблоне утилиты SDK нет утечки. Как у вас создалось впечатление утечки в шаблоне? Он просто выделяет память, которая необходима для представлений.
Утечка - это память, для которой не существует указателей и которые больше не могут быть освобождены.
Ответ 8
У меня была та же проблема, но я смог понять, почему это произошло. И я кратко рассказал об этой проблеме в этой статье .
Может быть полезно для вас.