Как решить инструменты обнаружены утечки, чья ответственная библиотека является основой Apple? - PullRequest
6 голосов
/ 12 октября 2010

Я проверяю утечки памяти в моих приложениях, используя инструмент Instruments Leaks.

После исправления всех утечек, ответственной библиотекой которых является мое приложение.Я выяснил, что все еще есть много утечек, чьи ответственные библиотеки - фреймворки iOS, основанные на том, что сказали Instruments?

Это скриншот Intruments:

alt text

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

Спасибо!

Ответы [ 2 ]

2 голосов
/ 13 октября 2010

Ну, разработчики Apple тоже люди, и они тоже могут ошибаться. В качестве альтернативы можно было бы создать собственную платформу, точно такую ​​же, как у Apple, но это будет нехорошо, поскольку Apple в будущем обязательно предложит обновления и исправления, которые решат проблемы.

Единственным решением было бы сообщать об ошибках в Apple об утечках памяти, даже я видел, что у фреймворка много утечек памяти.

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

0 голосов
/ 12 октября 2010

Я заметил то же самое с одним из моих приложений, и, в конце концов, после попытки выяснить, что я делаю неправильно, я пришел к выводу, что я ничего не делаю неправильно, и что у фреймворков Apple есть утечки памяти какхорошо.

Так что я не думаю, что ты можешь что-то сделать.

...