Форум программистов, компьютерный форум CyberForum.ru

Приложение вылетает, сообщая о нехватке памяти - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Воспроизведение музыки из интернета сразу после нажатия кнопки http://www.cyberforum.ru/objective-c/thread1175697.html
Для воспроизведения песни в браузере использую GET запрос к сервису. Браузер, в частности гугл хром, начинает сразу её воспроизводить и показывает количество загруженного. Как сделать такое же в IOS ? Пробую через AVAudioPlayer и NSURLSessionDownloadTask, но это не то - песня начинает звучать только после полного скачивания. Как заставить звучать сразу? При этом желательно еще и кэшировать в...
Objective-C Запомнить была ли нажата кнопка Всем привет! Есть кнопка UIButton, отвечающая за выставление "Лайков" к посту. Для изменения цвета кнопки после нажатия использую следующий код, меняющий картинку кнопки с like.png на liked.png. forState:UIControlStateNormal]; Проблема в том, что после завершения приложения и его повторного открытия кнопка снова становится как до нажатия, т.е с картинкой like.png. Вопрос такой: как сделать... http://www.cyberforum.ru/objective-c/thread1171078.html
Массивы и строки Objective-C
Здравствуйте. Не подскажете, как поступить в таком случае. Есть массив array c номерами заказов находим его размерность и пускаем цикл. for (int i=0; i<; i++) { NSString *array_GUID = objectAtIndex:i]; } Он каждый раз перезапишет строку с новым i. А нужно к примеру array/array/array в этой строке получить. Обхожу дурацким способом созданию n количество строк получаю туда...
NSCollectionView: центрирование итемов Objective-C
Есть NSCollectionView, в него добавлены элементы (программно, не через байндинги). При изменении размера окна горизонтально (NSCollectionView) появляется пустое пространство, а потом при определенном размере, в пустое пространство добавляются элементы из нижних частей NSCollectionView. Как можно отцентрировать итемы во время ресайза окна NSCollectionView, до тех пор пока не добавятся новые...
Objective-C Дозагрузка данных в UITableView при скролле http://www.cyberforum.ru/objective-c/thread1167870.html
С веб-сервиса загружаю порцию данных, отображаю их на UITableViewController. Как после прокрутки до последней записи загрузить еще одну порцию данных и отобразить их в этой же таблице? Не могу понять, какой метод используется при прокрутке таблицы и проверки её текущего состояния.
Objective-C Инверсия части изображения при перекрытии другим изображением Можно ли создать вот такой эффект Т.е есть белых бокс...и текст (возможно UILabel или UIImageView), суть в том что белый бокс двигается слево на право... И когда он "перекрывает" текст - текст в том месте становится прозрачным... Как-то так... В какую сторону копать ? Кто что может подсказать ? подробнее

Показать сообщение отдельно
Друсс
0 / 0 / 0
Регистрация: 01.01.2013
Сообщений: 5

Приложение вылетает, сообщая о нехватке памяти - Objective-C

18.05.2014, 18:28. Просмотров 901. Ответов 7
Метки (Все метки)

Признаться, я долгое время искал решение своей проблемы сам и во многом ее решил, однако вылеты все же продолжаются... В итоге решил таки обратиться к сообществу братьев-программистов ))

Итак, приложение над которым я работаю очень большое, приводить его тут не вижу смысла.
В общих чертах:
1. Приложение как бы модульное, т.е. существует несколько ViewController'ов (модулей), которые сменяют друг друга по требованию.
2. Приложение НЕ использует StoryBoard.
3. Приложение использует огромное кол-во изображений, по сути это презентация с элементами каталога. Основные классы, которые используются:
- UIScrollView - используется в навигации, как верикальной, так и горизонтальной в рамках вертикальных блоков;
- UIWebView - отображение сложных таблиц (всего чуть более 100 таблиц в разных UIView внутри UIScrollView), все HTML файлы локальные;
- UIImageView - отображение всех изображений. Тут я использую, как и кеширование, так и воздерживаюсь от него, в зависимости от частоты использования изображений;
- UIImageView.animationImages - это используется часто, и скорей всего именно тут кроется ошибка, смотрите далее...
4. Приложение работает как на 1024x768, так и на 2048x1536. Все изображения изначально для большого разрешения, но если приложение запускается на ipad2 (mini), то все уменьшается вдвое, использую стандартные средства Objective-C (CGRectMake).

Суть ошибки: приложение вылетает, сообщая о нехватке памяти. По сути не сообщая конкретного места, но я понимаю, что это именно из-за этого (слежу за использованием памяти). Локализовать конкретный момент невозможно, так как вылетает всегда в разных местах, но ТОЛЬКО после использования UIView, где располагались множественные UIImageVIew.animationImages, которых около 26 штук на одной UIView (всего анимаций около 100). В каждом сиквенсе запускалось около 40 изображений, размером 600 на 600. В общем много...

Суть то не в этом )) Рассчитывая на ARC, мы не думаем о том, как расходуется память, но... у меня сложилось впечаетление, что мои вылеты происходят тогда, когда приложение требует больше памяти, чем есть и чем освободилось на конкретный момент времени, после чего происходит вылет.

Ваше мнение? Куда следует направить совй взор?
Спасибо!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru