今天使用webView加载数据时 如果数据太长就会崩溃,造成内存溢出,在网上查找了一下资料之后 终于把它解决了,谨在此记录
1.不要在XML里面写webView 可以使用一个占位布局
<FrameLayout android:id="@+id/layoutWebView" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone"/>2.在代码中动态创建一个webView 把这个webView放到FrageLayout这个布局中
webView = new WebViewMod(getApplicationContext()); WebSettings settings = webView.getSettings(); settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); layoutWebView.addView(webView);3.到这里基本就OK了,你可以直接在这个WebView里面加载数据了
WebViewMod 这个是我自定义的一个webView 用系统的WebView效果是一样的4.在当前Activity销毁的时候 记得在onDestroy方法中销毁这个WebView
@Override protected void onDestroy() { webView.removeAllViews(); webView.destroy(); super.onDestroy(); }大功告成!希望可以帮到和我遇到相同问题的人!(可能有些人遇到的问题用这种方法不行,欢迎大家相互交流)