Завершено из-за давления памяти с использованием менее 15 МБ

Я сталкиваюсь со странной проблемой: приложение, над которым я работаю, постоянно отключается из-за нехватки памяти, но на самом деле оно не использует столько, сколько вы можете видеть на скриншоте.
Поэтому я начал искать "другие" проблемы, такие как утечки памяти, неявное приведение, но я не знаю, как отлаживать подобные вещи, так что... кто-нибудь знает, как выйти из этой проблемы?:)

2 ответа

Решение

Типично termination due to memory pressure происходит, когда приложение приостановлено самой iOS. Это происходит, когда ваше устройство не имеет много свободной памяти, и это часто является хорошим признаком (это означает, что это произойдет с вашим приложением рано или поздно, когда пользователь закроет его).

Я бы предложил вам использовать инструменты и выяснить, где именно заканчивается ваше приложение (если это так). Хорошее руководство по инструментам можно найти здесь - http://www.raywenderlich.com/23037/how-to-use-instruments-in-xcode

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

В моем случае я просочился, пропустив путь к коду glDeleteFramebuffers,

Другие вопросы по тегам