2014-12-31 2 views
-4

Мое приложение терпит крах из-за давления памяти, но я уже удалил все UIView, когда я им не нужен. Но приложение все еще сильно разбивается. Я новичок в управлении памятью, и я был бы очень признателен за помощь. P.S- Мое приложение размером 220 МБмое приложение постоянно сбой из-за давления памяти

ответ

0

Возможно, вы загружаете активы или файлы в целом, большие по размеру и занимающие много памяти. Дайте нам больше информации об этом приложении.

+0

Да, вы правы, у меня в моем приложении столько изображений, поэтому его размер почти 220 Мб, но я не могу их удалить. Не могли бы вы рассказать мне, как я могу выгрузить/удалить их в viewDidDisappear или любой другой встроенный метод? –

+0

Вы кешируете изображения в какой-то коллекции? может быть, если вы покажете нам какой-то код, который позаботится о загрузке изображений, мы сможем дать вам подсказку :) –

+0

Возьмите все ваши изображения. Измените их на png, если он еще не установлен, перейдите на https://tinypng.com и загрузите свои изображения, чтобы там, загрузите новые изображения. Замените новые изображения старыми и тадами, ваша игра должна быть на 50-70% меньше –

1

Вы должны определить, что потребляет память. Вероятно, это «сильный ссылочный цикл» (так называемый «цикл сохранения»), но невозможно сказать на основе ограниченной информации.

См. Демонстрацию инструментов в видеоролике WWDC 2012 iOS App Performance: Memory для демонстрации использования инструментов для определения проблем памяти.

0

Просто удаление видов не освободит всю память. Вам также нужно очистить кеш. Попробуйте вызвать это и проверить результат с инструментами:

[[NSURLCache sharedURLCache] removeAllCachedResponses]; 

Может быть, у вас также есть некоторые утечки памяти и/или кэширование больших файлов, таких как изображения или видео. Если вы используете, например, SDImageCache вы можете освободить его следующим образом:

SDImageCache *imageCache = [SDImageCache sharedImageCache]; 
[imageCache clearMemory]; 
[imageCache clearDisk]; 

Трудно сказать, что это может быть. Чтобы получить дополнительную информацию, вы должны использовать инструмент «утечки» в Инструменте, чтобы узнать, что произойдет

0

Вы должны узнать, что занимает так много памяти. Хороший способ проверить ваше приложение - использовать инструменты. Это часть каждой установки Xcode.

Вот довольно хорошее введение в него: http://www.raywenderlich.com/23037/how-to-use-instruments-in-xcode

Вы ищете распределение и Утечку просмотр.

Удачи.

Смежные вопросы