Утечки UIWebView, сборщики мусора Мусора Мусора и WebCore
Я создаю функцию браузера для приложения, которое, очевидно, работает с UIWebView. Я наблюдаю, как всплывает память, когда браузер открывается, что имеет смысл, однако я вижу некоторые неприятные результаты во время профиля утечек:
![Leaks profiling]()
Коллектив сборщика мусора VM: JS и VM: чистые данные WebCore просто продолжают подниматься, тем больше я просматриваю. Еще хуже то, что, когда браузер освобожден, и веб-просмотр выпущен, эти объекты все еще существуют, занимая более 6 МБ памяти.
Я не уверен, что если я не обрабатываю UIWebView правильно, но, похоже, проблема в том, что эта память хранится после того, как UIWebView освобожден.
Я выполняю некоторую очистку до того, как браузер будет освобожден из-за этого в "nofollow noreferrer" > http://www.codercowboy.com/code-uiwebview-memory-leak-prevention/
Ответы
Ответ 1
Я не уверен, что я немедленно рассмотрю эту проблему. Эти виртуальные машины запускаются только при добавлении веб-представления в иерархию вашего представления и загрузке с ним запроса.
Возможно, именно ОС поддерживает эти ресурсы в случае их повторного использования.
Я попытался скопировать ваш код, который очищает данные и имеет капли на 50%.
Сборщик мусора JS всегда составлял минимум 3 Мбайт, но имел максимум 8 МБ
Очищаемые данные WebCore всегда находились на уровне около 700 КБ
Вы также можете подумать, что это может быть связано с неправильным JavaScript, который продолжает жить из-за утечек в коде JavaScript.