Подтвердить что ты не робот

Утечки UIWebView, сборщики мусора Мусора Мусора и WebCore

Я создаю функцию браузера для приложения, которое, очевидно, работает с UIWebView. Я наблюдаю, как всплывает память, когда браузер открывается, что имеет смысл, однако я вижу некоторые неприятные результаты во время профиля утечек:

Leaks profiling

Коллектив сборщика мусора VM: JS и VM: чистые данные WebCore просто продолжают подниматься, тем больше я просматриваю. Еще хуже то, что, когда браузер освобожден, и веб-просмотр выпущен, эти объекты все еще существуют, занимая более 6 МБ памяти.

Я не уверен, что если я не обрабатываю UIWebView правильно, но, похоже, проблема в том, что эта память хранится после того, как UIWebView освобожден.

Я выполняю некоторую очистку до того, как браузер будет освобожден из-за этого в "nofollow noreferrer" > http://www.codercowboy.com/code-uiwebview-memory-leak-prevention/

4b9b3361

Ответ 1

Я не уверен, что я немедленно рассмотрю эту проблему. Эти виртуальные машины запускаются только при добавлении веб-представления в иерархию вашего представления и загрузке с ним запроса.

Возможно, именно ОС поддерживает эти ресурсы в случае их повторного использования.

Я попытался скопировать ваш код, который очищает данные и имеет капли на 50%.

Сборщик мусора JS всегда составлял минимум 3 Мбайт, но имел максимум 8 МБ Очищаемые данные WebCore всегда находились на уровне около 700 КБ

Вы также можете подумать, что это может быть связано с неправильным JavaScript, который продолжает жить из-за утечек в коде JavaScript.