Отслеживание источника предупреждений памяти - iOS - PullRequest
1 голос
/ 20 июня 2011

У меня странная ошибка в моем приложении - во время работы приложения я иногда получаю странное поведение, когда приложение «перезагружается» и возвращается к первому экрану (как будто ViewDidLoad вызывается снова).В этом нет четкой логики (иногда это происходит через несколько секунд после запуска приложения, а иногда я могу скрывать ошибку часами, а она не возникает).

Я подозреваю, что проблема связана с неким объемом памятипроблема - когда я запускаю приложение с отладчиком, я вижу в журнале, что я получаю предупреждение о памяти непосредственно перед тем, как происходит ошибка: Получено предупреждение о памяти.Уровень = 1

  1. Кто-нибудь знаком с этим поведением?имеется в виду, что приложения «опровергаются» при получении предупреждения о памяти?
  2. Поскольку я понятия не имею, что вызывает проблему с памятью, у кого-нибудь есть идеи, как ее отслеживать?какие-либо рекомендуемые инструменты для этого?

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

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

1 голос
/ 20 июня 2011

Используйте инструмент инструмент, чтобы найти утечки и размер объекта во время выполнения. Предупреждение о памяти также иногда появляется, когда мы используем UIImagePickerController для выбора изображения. Также сделайте статический анализ с использованием статического анализатора clang. Существует приложение с графическим интерфейсом, написанное Никитой Жуком. Найдите в Google приложение. И последнее, но не менее важное: прочитайте некоторые руководства по управлению памятью.

UPDATE

Инструмент встроен в xcode. Запустите свой проект, выбрав утечки из выпадающего меню. Поиск в Google о том, как использовать инструменты.

Вот скриншот

enter image description here

Для поиска по управлению памятью в системе управления памятью google target-c вы получите несколько статей. Также прочитайте свойства target-c 2.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...