приложение отлично работает на iPad 2, падает на iPad 3, с низким уровнем памяти

как говорится в названии, у меня есть приложение, которое работает на iPad 2, но падает на iPad 3. При его запуске консоль дает мне предупреждение о низкой памяти. Когда происходит авария, я символизирую его, но нет ничего, что я мог бы связать с кодом, например, он показывает

process name, UUID, rpages, recent_max, [reason] (state) 

и под этими заголовками столбцов только шестнадцатеричный материал, ничего не показывающий вызовы методов или строки в проекте.

Есть идеи? я не хватает некоторых флагов в коде, который позволяет улучшить журнал сбоев?

Благодарю.

2 Solutions collect form web for “приложение отлично работает на iPad 2, падает на iPad 3, с низким уровнем памяти”

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

Как сказал Дэниел, вы можете посмотреть Техническую ноту 2151 , но, как говорится:

Когда вы видите небольшой сбой памяти, вместо того, чтобы беспокоиться о том, какая часть вашего кода выполнялась в момент завершения, вы должны изучить шаблоны использования памяти и ответы на предупреждения о низкой памяти. Выделение памяти В списках справки содержатся подробные инструкции о том, как использовать инструмент «Утечки», чтобы обнаружить утечки памяти, и как использовать функцию Mark Heap Allocations Instrument, чтобы избежать оставленной памяти. Рекомендации по использованию использования памяти обсуждают правильные способы реагирования на уведомления с низкой памятью, а также множество советов по эффективному использованию памяти. Также рекомендуется, чтобы вы проверили сеанс WWDC 2010, Advanced Memory Analysis с инструментами .

Итак, пара мыслей:

  1. Вы искали утечки? В статье « Поиск утечек» вы узнаете, как использовать инструменты для поиска утечек.

  2. Если вы включили зомби, вы отключили их? Зомби – отличный диагностический инструмент, но он просто потребляет память.

  3. Запустили ли вы свой код через статический анализатор ( shift + command + B или выберите «Analyze» в меню «Product»)? Особенно, если вы используете не-ARC-код, это может вызвать множество проблем с памятью.

  4. Проанализировали ли вы свои ассигнования на необъяснимые увеличения без компенсации убытков с помощью инструмента « Allocations инструмента». Используя это, вы можете запустить программу, посмотреть на потребление памяти на графике и посмотреть, видите ли вы какие-либо увеличения, которые не компенсируются в какой-то момент соответствующими сокращениями. И если это так, выделите эти увеличения на графике:

    Например, при запуске инструмента Allocations удерживайте клавишу выбора, а затем щелкните мышью и перетащите мышью, чтобы выделить часть временной шкалы, чтобы определить, что вы хотите проверить. Вероятно, вы захотите сосредоточиться на одном из ваших пиков в распределении. Например, я нашел рельеф в своих выделениях и выделил его как таковой (это был смехотворно простой пример, когда я создаю огромный массив в viewDidLoad , но, надеюсь, это дает вам идею):

    ассигнования

    Обратите внимание, что мне полезно показать дерево вызовов на нижней панели, часто бывает полезно выбрать «Скрыть системные библиотеки», сосредоточиться на своем коде (и «Инвертировать дерево вызовов»). И если вы дважды щелкните по имени метода в «Инструменты» (в моем примере здесь будет viewDidLoad), инструменты покажут ваш код, который выполняет выделение:

    показать код

Предупреждения о низкой памяти генерируют другой вид журнала, чем стандартные сбои. Взгляните на раздел «Понимание отчетов о низкой памяти» этой статьи, чтобы понять, что произошло с вашим приложением, и как его можно отладить с помощью инструментов: http://developer.apple.com/library/ios/#technotes/tn2151/ _index.html

  • «Невозможно создать XXX-Info.plist» с использованием Jenkins
  • UIDatePicker замедляет работу
  • Ошибка импорта модуля EZAudio CocoaPods
  • Проблема с использованием нескольких каталогов активов в XCode 5
  • Автоматически использует ли функция «Архив» Xcode «Конфигурация сборки»?
  • Игровая площадка Xcode застревает на «Running playground» или «Запуск симулятора» и не будет запускать код, что делать?
  • iOS 8.2 не обращение к diddiscoverservices
  • didRegisterForRemoteNotificationsWithDeviceToken никогда не вызывал определенное устройство
  • Автоматическое отображение свойств объектов C ++ в отладчике Xcode
  • Xcode 7 UI Тестирование целевого языкового стандарта и настроек региона
  • iOS: реализация API-интерфейса KTPhotoBrowser
  • Interesting Posts

    Что такое :?

    Просмотр прокрутки iOS не работает

    Как автовоспроизведение видео YouTube в интерфейсе UIWebView

    Есть ли способ передать параметры командной строки для моего приложения iOS из Xcode?

    Как отключить клавиатуру iOS?

    Что именно происходит с обработкой очереди звуковой очереди?

    Образцы CMSampleBufferRef Crop

    Левый операнд «&» – это значение для мусора

    UICollectionViewController недействительно загружается с NIB

    Как «перепроверить» разрешение электронной почты с помощью Facebook iOS SDK 4.x?

    Вызывать метод в объектном c-коде из HTML-кода с помощью UIWebView

    Как инициализировать NSString в виде текста с двойными кавычками

    Белая вспышка между страницами с помощью PhoneGap и jQuery Mobile для мобильного приложения

    Может ли чистая проверка подлинности покупки на устройстве в режиме реального времени с iOS6?

    Ошибка при запуске «Расширение Watchkit» – SPErrorUnknownMessage

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.