我的应用程序包含一个包含100个webview列表的页面,所有页面都加载了不同的网页。当我继续向下滚动时,应用程序被挂起。有没有办法优化这个?任何解决方案都会很棒。
答案 0 :(得分:0)
WebView
中可能存在内存泄漏问题。如果在应用程序中使用WebView
,则应在xml布局中定义它。
只需在布局中定义容器并在运行时创建WebView
并在此处传递应用程序上下文而不是活动。这是因为即使你的活动破坏webview也会继续引用它并在这里内存泄漏!!。
从Android 3.1到4.3,Android使用webkit作为webview的核心,其中存在内存泄漏问题出现的bug,现在Android 4.4以后它使用chrome。
最后,在您的onDestroy()
版本中分发由其分配的资源。
@Override
public void onDestroy() {
super.onDestroy();
if(webView != null) {
webView.removeAllViews();
webView.destroy();
}
webView = null;
}