Мой графический интерфейс для приложения для iPhone использует множество UIView. Пользователь "листает" эти представления, когда нажимает кнопку для перехода вперед или назад. Представления хранятся за пределами экрана и добавляются к фактическому представлению только тогда, когда программе необходимо его отобразить.
Во время процесса переворота программа сообщает родительскому представлению (uiscrollview) удалить любое существующее подпредставление с помощью метода removeFromSuperView, а затем добавляет новое подпредставление, которое является новой страницей, которую должен увидеть пользователь.
Однако после нескольких повторений этого процесса на устройстве программа аварийно завершает работу с кодом выхода GDB 101, что, как я обнаружил, вызвано ошибкой нехватки памяти.
Я попытался диагностировать эту проблему с помощью инструмента Leaks, но безуспешно. Есть только 1 или 2 небольшие утечки памяти, а общее использование памяти на устройстве программой составляет всего 2,5 МБ. Возможно ли, что не хватает видеопамяти, а не системной?
Я наткнулся на это сообщение об использовании backgroundColor и памяти. , но мне нужны дополнительные объяснения. Должен ли я уменьшить настройку backgroundColor, чтобы CALayer UIView не занимал слишком много памяти?