(много) утечек памяти в UIWebView - PullRequest
0 голосов
/ 21 июня 2011

Я видел из других постов, что у UIWebView есть проблемы с утечкой памяти.Однако из-за количества объектов, которые у меня есть, я должен задаться вопросом, делаю ли я что-то не так.«Утечки» сообщает о 60 утечках за открытие UIWebView, загрузку страницы и закрытие (это страница входа в Facebook).Я проверил трассировку стека для каждого из этих объектов, и они никогда не касаются моего кода.Все они либо в отдельном потоке (я использую только основной поток), либо переходят от «основного» к множеству внутренних методов, которые выделены серым цветом.Это ожидается от UIWebView?У меня установлена ​​последняя версия прошивки, и я думаю, что они уже исправили бы это.Кстати, я вижу это на устройстве.Я также пытался проверить наличие ошибок на сайте Apple, но нет другого способа поиска, кроме как по идентификатору проблемы ..?

Шон

Вот захват утечек:

enter image description here

Ответы [ 2 ]

1 голос
/ 21 июня 2011

Извините, что так быстро ответил на свой вопрос, но я только что нашел проблему.

Если вы возвращаете NO для метода делегата:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

, а затем отпустите UIWebView, он протечет, как описано выше. Возвращение YES устраняет проблему. По крайней мере, для меня это происходит на всех версиях прошивки до сих пор (4.3.3). Я регистрирую ошибку в Apple.

0 голосов
/ 20 сентября 2017

Fellows!Я знаю, что уже немного поздно%) Исследовал эту тему некоторое время и нашел решение, которое работает для меня лучше всего - используйте WKWebView, оно не течет!Вот и все - так просто.

...