У меня есть работа с использованием xml-макета, где встроен WebView. Я вообще не использую WebView в своем коде активности, все, что он делает, сидит там в моем макете xml и становится видимым.Утечка памяти в WebView
Теперь, когда я закончу действие, я обнаружил, что моя деятельность не очищается от памяти. (Я проверяю с помощью hprof дампа). Активность полностью очищается, хотя если я удалю WebView из макета xml.
Я уже попробовал
webView.destroy();
webView = null;
в OnDestroy() моей деятельности, но это не помогает.
В моем HPROF отвале, моя деятельность (названный «Браузер») имеет следующий оставшиеся корни GC (после того, как называется destroy()
на него):
com.myapp.android.activity.browser.Browser
- mContext of android.webkit.JWebCoreJavaBridge
- sJavaBridge of android.webkit.BrowserFrame [Class]
- mContext of android.webkit.PluginManager
- mInstance of android.webkit.PluginManager [Class]
Я обнаружил, что другой разработчик испытал нечто подобное, см ответ на Филипе Абрантеш на: http://www.curious-creature.org/2008/12/18/avoid-memory-leaks-on-android/
действительно очень интересный пост. В последнее время мне очень тяжело было Устранение утечки памяти на моем Android-приложении. В конце концов выяснилось , что мой макет XML включал WebView компонент, который, даже если он не используется, был предотвращения памяти от г собранного после экрана вращений/приложение рестарта ... это ошибка текущего реализация, или есть что-то специфичны, что нужно делать, когда с использованием WebViews
Сейчас, к сожалению, не было никакого ответа на блоге или в списке рассылки об этом вопросе пока нет. Поэтому я задаюсь вопросом, является ли ошибка в SDK (возможно, похожа на ошибку MapView, как сообщалось http://code.google.com/p/android/issues/detail?id=2181) или , как получить активность полностью из памяти с помощью встроенного webview?
Это происходит, если вы динамически создаете WebView? – ktingle
Я только что проверил это, но не имеет значения. –
Между тем я отправил отчет об ошибке на странице http://code.google.com/p/android/issues/detail?id=9375, но, возможно, у кого-то есть обходной путь; то, пожалуйста, опубликуйте его. –