2016-04-11 49 views
5

W aplikacji, w której aktualnie pracuję, mam obowiązek obserwować wykorzystanie pamięci przez WKWebView. Nie mogę wymyślić, jak to zrobić. Ponieważ WKWebView działa oddzielnie od głównej aplikacji, więc uzyskanie diagnostyki głównej aplikacji nie odzwierciedla WKWebView.Uzyskaj aktualne wykorzystanie pamięci WKWebView?

Czy ktoś to wcześniej zrobił?

Wygląda na to, że na iOS 9 po prostu nie można patrzeć na inne uruchomione procesy. Więc ta opcja jest wyłączona. Jednak nadal nie jestem pewien, czy WKWebview jest jeszcze innym procesem? Zauważam, po uruchomieniu nowego WKWebView, tworzy nowe wątki pod mach_task_self. Oznacza to, że WKWebView nie jest w rzeczywistości oddzielnym procesem, ale jest w tym samym zadaniu proces/mach co główna aplikacja. Ale pamięć jest w innej przestrzeni adresowej.

Czy możliwe jest uchwycenie oddzielnej przestrzeni pamięci w oknie WkWebview poprzez metody mach i posix niskiego poziomu?

Czy jest jakiś inny sposób na wykorzystanie pamięci przez WkWebView?

+1

Byliśmy bardzo podekscytowani wkwebview ze względu na zmniejszenie zużycia pamięci, dopóki nie zorientował się, że pamięć jest po prostu ukryty ... nasza aplikacja będzie katastrofy losowo bez ostrzeżenia ze względu na wysokie zużycie pamięci, które nie mogliśmy” t skutecznie monitorować –

+0

https://forums.developer.apple.com/thread/21956 Widziałeś to? Myślę, że odpowiada przynajmniej część twojego pytania. – Vemonus

Odpowiedz

1

W Xcode wybierz "Produkt", a następnie wybierz "Profil", po kompilacji otworzy Instrumenty.

Wybierz Monitor aktywności i kliknij Wybierz.

enter image description here

Kliknij czerwone kółko w lewym górnym rogu, aby rozpocząć profilowania.

enter image description here

Spróbuj znaleźć proces nazwany jako "com.apple.WebKit" kolumna "Real MEM" jest to, czego chciał.

enter image description here