Мое приложение терпит крах из-за давления памяти, но я уже удалил все UIView, когда я им не нужен. Но приложение все еще сильно разбивается. Я новичок в управлении памятью, и я был бы очень признателен за помощь. P.S- Мое приложение размером 220 МБмое приложение постоянно сбой из-за давления памяти
ответ
Возможно, вы загружаете активы или файлы в целом, большие по размеру и занимающие много памяти. Дайте нам больше информации об этом приложении.
Вы должны определить, что потребляет память. Вероятно, это «сильный ссылочный цикл» (так называемый «цикл сохранения»), но невозможно сказать на основе ограниченной информации.
См. Демонстрацию инструментов в видеоролике WWDC 2012 iOS App Performance: Memory для демонстрации использования инструментов для определения проблем памяти.
Просто удаление видов не освободит всю память. Вам также нужно очистить кеш. Попробуйте вызвать это и проверить результат с инструментами:
[[NSURLCache sharedURLCache] removeAllCachedResponses];
Может быть, у вас также есть некоторые утечки памяти и/или кэширование больших файлов, таких как изображения или видео. Если вы используете, например, SDImageCache вы можете освободить его следующим образом:
SDImageCache *imageCache = [SDImageCache sharedImageCache];
[imageCache clearMemory];
[imageCache clearDisk];
Трудно сказать, что это может быть. Чтобы получить дополнительную информацию, вы должны использовать инструмент «утечки» в Инструменте, чтобы узнать, что произойдет
Вы должны узнать, что занимает так много памяти. Хороший способ проверить ваше приложение - использовать инструменты. Это часть каждой установки Xcode.
Вот довольно хорошее введение в него: http://www.raywenderlich.com/23037/how-to-use-instruments-in-xcode
Вы ищете распределение и Утечку просмотр.
Удачи.
- 1. Приложение завершено из-за давления памяти
- 2. Как отладить сбой iOS из-за давления памяти
- 3. Почему мое приложение постоянно вибрирует?
- 4. Мое приложение - простое приложение сбой
- 5. Мое приложение продолжает сбой
- 6. Обновление страницы постоянно сбой IE
- 7. popToRootViewControllerAnimated заставляет мое приложение сбой
- 8. Почему мое приложение всегда сбой?
- 9. WebClient.DownloadDataAsync SocketException сбой мое приложение
- 10. Intent вызывает сбой мое приложение
- 11. неполная asynctask сбой мое приложение
- 12. decodeByteArray сбой мое приложение - андроид
- 13. Почему мое приложение продолжает сбой?
- 14. Почему мое приложение сохраняет сбой
- 15. Завершение из-за давления памяти
- 16. Почему мое приложение больше не получает уведомления о маяках после его прекращения из-за давления памяти?
- 17. Понимание отрицательного давления виртуальной памяти
- 18. Приложение iOS 7 завершено из-за давления памяти
- 19. Ошибка iOS UIImagePNGR из-за «давления памяти»
- 20. Приложение идеально равномерно. Выделенный объем памяти постоянно увеличивается в андроиде.
- 21. Понимание давления памяти с использованием perf
- 22. Где проблема Мое приложение сбой при запуске
- 23. Приложение Crash постоянно java.lang.ClassNotFoundException
- 24. Мое приложение сбой сразу же после компиляции
- 25. почему мое приложение сбой на карте
- 26. Мое приложение сбой с навигационным ящиком
- 27. Мое приложение в android продолжает сбой
- 28. Мое приложение сбой при доступе к курсору
- 29. Proguard запутывания держит сбой мое приложение
- 30. Android: Что заставило мое приложение сбой?
Да, вы правы, у меня в моем приложении столько изображений, поэтому его размер почти 220 Мб, но я не могу их удалить. Не могли бы вы рассказать мне, как я могу выгрузить/удалить их в viewDidDisappear или любой другой встроенный метод? –
Вы кешируете изображения в какой-то коллекции? может быть, если вы покажете нам какой-то код, который позаботится о загрузке изображений, мы сможем дать вам подсказку :) –
Возьмите все ваши изображения. Измените их на png, если он еще не установлен, перейдите на https://tinypng.com и загрузите свои изображения, чтобы там, загрузите новые изображения. Замените новые изображения старыми и тадами, ваша игра должна быть на 50-70% меньше –