Частое предупреждение о памяти после установки символов отладки полосы во время копирования на НЕТ

Я установил для параметра сборки «Удалить символы отладки во время копирования» значение НЕТ. Это увеличило размер моего двоичного приложения на 0,5 МБ. Удивительно, но я начал очень часто видеть предупреждения памяти в своем приложении. Может ли это быть причиной этого?

В этом случае я могу установить его обратно на YES.


person Abhinav    schedule 27.04.2012    source источник
comment
Исправил опечатку. Его 0,5 МБ.   -  person Abhinav    schedule 27.04.2012
comment
о, это совсем другой размер. в этом случае символы отладки не являются корнем проблемы. запустите инструменты с утечками и распределениями, чтобы увидеть, что можно уменьшить.   -  person justin    schedule 27.04.2012
comment
Вы можете делать что-то в своем коде, который перечисляет или иным образом обращается к символам, и в этом случае наличие намного большего количества символов будет означать гораздо больше памяти. Если нет, вы должны увеличить использование памяти не более чем на 0,5 МБ (пространство, используемое для подкачки всего приложения в память, поскольку оно больше на 0,5 МБ).   -  person abarnert    schedule 27.04.2012


Ответы (1)


Символы отладки не проблема, это совершенно точно.

Чтобы выяснить основную причину проблем с памятью, используйте следующее:

  1. Xcode Analyzer — уже (среди прочего) обнаружит большинство потенциальных утечек памяти, даже не запуская ваше приложение.

  2. Инструменты: Инструмент для выявления утечек – обнаружит все оставшиеся проблемы с утечками.

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

person Till    schedule 27.04.2012
comment
Удивительно, но после поворота этого свойства в YES я вижу значительное уменьшение выделенной памяти в инструментах. Он уменьшился на 1,5 МБ, и я некоторое время не вижу предупреждения о памяти. Поэтому я изменяю этот параметр обратно на YES. - person Abhinav; 27.04.2012