如何使用多个Web视图优化Android应用程序?

时间:2015-03-28 08:35:25

标签: android android-listview android-webview

我的应用程序包含一个包含100个webview列表的页面,所有页面都加载了不同的网页。当我继续向下滚动时,应用程序被挂起。有没有办法优化这个?任何解决方案都会很棒。

1 个答案:

答案 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;
}