Мое приложение для iphone получает предупреждение о памяти и убивает на 6,8 МБ

В моем приложении есть поток, который выполняет некоторую трудоемкую работу более минуты, а приложение потребляет около 6,8 МБ памяти. Через некоторое время я получаю предупреждение о памяти, а затем его убивают. Я ничего не могу выпустить, и я не использую даже 7 МБ памяти ... сводит меня с ума ... какой-нибудь совет, пожалуйста?


person Abix    schedule 20.05.2010    source источник
comment
Используйте отладчик или средство для утечки памяти. stackoverflow.com/ questions / 172125 /   -  person Matt Ball    schedule 20.05.2010
comment
Кроме того, убедитесь, что вы тестируете устройство, а не только симулятор.   -  person rickharrison    schedule 20.05.2010
comment
Я запускаю его на устройстве; на симуляторе я не получаю предупреждения о памяти, если я не моделирую его. Когда приложение умирает, gdb сообщает следующее ... Программа завершается сигналом 0, сигналом 0. Итак, это ОС убивает мое приложение. Он занимает всего 7 МБ памяти, а ОС все равно убивает его !!! Не помогает и перезагрузка устройства, может что-то не хватает? Утечка показывает отсутствие утечки и постоянное использование 6,8 МБ памяти.   -  person Abix    schedule 20.05.2010


Ответы (2)


Может ваша память суперфрагментирована? Даже 7 Мбайт утечки данных не должны убить ваше приложение. У вас должно быть не менее 20 МБ для игры. Попробуйте перезагрузить телефон и посмотрите, поможет ли это.

person Dan Ray    schedule 20.05.2010

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

person Abix    schedule 20.05.2010