У меня есть много сообщений, связанных с управлением памятью, ARC, методами управления памятью, такими как autoreleasepool
, и с помощью инструмента инструмента, чтобы определить, какой код вызывает предупреждение о памяти, но в моем случае я не могу определить точную причину.
Основные сведения, которые вы должны знать о приложении:
-
Мы разработали приложение для iPad. В этом случае мы должны использовать в некоторых случаях более 2000 изображений, поэтому при запуске приложения мы не хотим показывать им изображение-заполнитель (требование клиента). Для этого мы использовали
SDWebImage
, сохраняли изображения на диске и позже чем мы загружаем изображения оттуда. -
Есть так много основных анимаций, которые я выполнял как "эффект Gennie", всплывающие окна и так много других основных анимаций.
Мы использовали ARC в нашем проекте, и мы обнаружили, что из-за непредвиденного сбоя приложения сбой памяти.
Мы использовали Инструменты "Распределение" для поиска грязной памяти.
Раньше мы анализировали журналы, и мы сохраняли изображения с помощью SDWebImage
в DISK, он разрешает частое сбой приложения, но все же приложение сбой из-за предупреждения о памяти.
Когда мы углубимся в то, что мы обнаружили, что "Анонимная VM" продолжает включать и не выпускать память, когда какой-либо экранный переключатель в iPad.
Вот скриншот профилирования нашего приложения на устройстве.
Любой, пожалуйста, предлагайте советы или методы кодирования или любую идею, с помощью которой мы можем уменьшить нагрузку на память и разрешить предупреждение о памяти.
Любая помощь будет оценена. Спасибо.