массовая утечка памяти в ios UIWebView
В поисках утечек памяти в других местах нашей системы я создал веб-страницу объемом 20 МБ с мета-тегом обновления. Идея состояла в том, чтобы переместить много данных через наш код данных, чтобы подтвердить стабильность памяти.
Content loading
то, что я нашел, было uiwebview, показывающее, что страница метаобновления очень и очень быстро теряет память. память приложения достигает 300 МБ примерно за 2 минуты и снимается с предупреждением о низкой памяти, даже когда наш код не находится в игре.
Я остановил загрузку обновлений и попытался удалить веб-просмотр.
Я попробовал loadurl: "о: пусто», loadhtml: "", JavaScript документ закрыть.
Я также попытался написать рекурсивный метод removeFromSuperview и removeFromParentViewController, считая, что частное представление прокрутки в веб-представлении является проблемой памяти, но эта память никогда не освобождается. Я могу'Похоже, мы не нашли надежного способа закрыть веб-просмотр, когда мы закончили с ним.
Мы жили с медленной скоростью просачивания веб-просмотра в течение достаточно долгого времени и действительно хотим найти способ обеспечить полное очищение веб-просмотра, когда мы закончим с ним. Недавно мы конвертировали приложение в ARC, которое не меняло частоту памяти.
Я подумываю попробовать рекурсивный цикл по всем объектам в веб-просмотре и посмотреть, можно ли их освободить. Instruments показывает 20 МБ cfdatas, живой, для каждого обновления страницы 20 МБ, но не показывает их как утечки. если я только доставляю заголовок ответа и выполняю его клиенту urlprotocol, то мы работаем стабильно, поэтому достаточно было подтвердить утечки памяти в оставшейся части пути к данным, но это такой впечатляющий результат теста, который я надеюсь найти решение для утечки памяти через webview однажды и для всех.
У кого-нибудь есть идеи получше, или кто-то пытался вернуться через объекты в uiwebview?