ogromny wyciek pamięci w ios UIWebView

szukając przecieków w innym miejscu w naszym systemie, utworzyłem stronę internetową o pojemności 20 MB ze znacznikiem odświeżania meta. pomysł polegał na przeniesieniu wielu danych za pomocą naszego kodu datapath, aby potwierdzić stabilność mem.

<html>
<meta http-equiv="refresh" content="1">
<body>
<div style="border: 1px solid red">
    Content loading
</div><!-- 20mb worth of comments -->
</body>
</html>

znalazłem uiwebview wyświetlający, że strona meta odświeżania przepuszcza bardzo, bardzo szybko. pamięć aplikacji osiąga 300mb w około 2 minuty i zostaje wystrzelona na ostrzeżenie o niskiej mem, nawet gdy nasz kod nie jest w grze.

Zatrzymałem ładowanie odświeżające i próbowałem anulować przeglądanie stron internetowych.

Próbowałem loadurl: „about: blank”, loadhtml: „”, zamknij dokument javascript.

Próbowałem również napisać rekurencyjny removeFromSuperview i removeFromParentViewController, czytając, że prywatny widok przeglądania w widoku sieci Web jest problemem z pamięcią, ale ta pamięć nigdy nie jest zwalniana. Wydaje mi się, że nie mogę znaleźć niezawodnego sposobu na zamknięcie, anuluj przeglądanie stron internetowych, gdy skończymy.

Żyjemy z powolnym przeciekiem przeglądania stron internetowych od dłuższego czasu i naprawdę chcemy znaleźć sposób na zapewnienie, że przeglądarka internetowa może być w pełni oczyszczona, gdy skończymy z tym. Niedawno przekonwertowaliśmy aplikację na ARC, która nie zmieniła szybkości pamięci.

Rozważam wypróbowanie pętli rekurencyjnej przez wszystkie obiekty w widoku sieci Web i sprawdzenie, czy można je zwolnić. instrumenty pokazują 20 mb cfdatas, żywych, przy każdym odświeżeniu strony 20 MB, ale nie pokazują ich jako przecieków. jeśli dostarczam tylko nagłówek odpowiedzi i robię to do klienta urlprotocol, uruchamiamy stabilnie, tak było ale, aby potwierdzić memleaks w pozostałej części ścieżki danych, ale jest to tak dramatyczny wynik testu, mam nadzieję, że kiedyś znajdę rozwiązanie wycieku memu Webview i dla wszystkich.

Czy ktoś ma jakieś lepsze pomysły lub czy ktoś próbował rekursywnie przeglądać obiekty w uiwebview?

questionAnswers(4)

yourAnswerToTheQuestion