Android中正确的对webView进行回收 防止内存泄漏 回收webView

示例代码:


public class MainActivity extends Activity {
private FrameLayout mWebContainer;
private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.your_layout);

    mWebContainer = (FrameLayout) findViewById(R.id.web_container);
    mWebView = new WebView(getApplicationContext());
    mWebContainer.addView(mWebView);
}

@Override
protected void onDestroy() {
    super.onDestroy();

    destroyWebView(); 
}

public void destroyWebView() {

    mWebContainer.removeAllViews();

    if(mWebView != null) {
        mWebView.clearHistory();
        mWebView.clearCache(true);
        mWebView.loadUrl("about:blank"); // clearView() should be changed to loadUrl("about:blank"), since clearView() is deprecated now
        mWebView.freeMemory(); 
        mWebView.pauseTimers();
        mWebView = null; // Note that mWebView.destroy() and mWebView = null do the exact same thing
    }

}

猜你喜欢

转载自blog.csdn.net/u010838785/article/details/81409151
今日推荐