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