Анализировать и инструменты - PullRequest
1 голос
/ 09 февраля 2012

Ну, этот вопрос может звучать глупо, но ... Когда я запускаю свое приложение в режиме анализа или с инструментами, у меня не возникает никаких возможных (режим анализа) или утечки памяти (инструменты). Значит ли это, что у моего приложения 100% утечек памяти?

Ответы [ 4 ]

4 голосов
/ 09 февраля 2012

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

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

Подобные проблемы все еще можно найти с помощью инструмента распределения. Он не будет явно отмечать проблемы, но позволит вам увидеть, выделяете ли вы много памяти, которую вы не отпустите позже. В частности, на iOS важно убедиться, что вы выделяете выделенную память, когда она вам больше не нужна, или использование памяти вашего приложения будет расти до тех пор, пока ОС не закроет ваше приложение.

1 голос
/ 09 февраля 2012

Это действительно зависит от того, насколько хорошо вы протестировали его с утечками, но имейте в виду, что как бы Leaks ни старался, он не пуленепробиваемый, хотя, если вы выполните сквозную работу, вы можете быть достаточно уверены в своем приложении. Не забывайте также использовать инструменты, отличные от утечек, инструмент выделения полезен при обнаружении заброшенной памяти, который просто не будет указывать вам на утечки, но может быть столь же неприятным.

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

Ваше приложение не запускается при анализе, вместо этого статический анализатор просматривает ваш код. Что касается инструментов, убедитесь, что конфигурация вашего профиля (в схеме редактирования) настроена на отладку. В противном случае ваше приложение будет удалено из символов и инструмент утечки не будет работать.

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

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

...