美文网首页工作生活
webview加载页面,退出或者按HOME键,再返回后数据不显示

webview加载页面,退出或者按HOME键,再返回后数据不显示

作者: 吉哈达 | 来源:发表于2019-07-03 15:20 被阅读0次

问题:webview加载页面后,退出页面再进入或者按HOME键退到后台,再切回来导致页面数据无法显示(一般页面背景是可以正常显示的)。

在此做个笔记。

原因:webview资源没有释放,更准确的说,是释放顺序和初始化不正确导致的,这里贴一下我的释放和重新初始化的顺序。


@Override

protected void onStart() {

super.onStart();

    if (isHomePress){

//是否按了home,如果是的话,初始化webview以及相关的setting

        initWebView();



        isHomePress =false;

    }

}

@Override

protected void onResume() {

super.onResume();

    loadURLWithHTTPHeaders(urlBackUp); //这里加载你的连接

}



@Override

protected void onPause() {

isHomePress =true;

    if (mWebView !=null){

mWebView.loadUrl("");

        mWebView.clearCache(true);

    }

super.onPause();

}

private void clearWebView(){

if (mWebView !=null){

mWebView.stopLoading();

        mWebView.getSettings().setJavaScriptEnabled(false);

        mWebView.clearHistory();

        mWebView.clearView();

        //mWebView = null;

    }

}

@Override

protected void onStop() {

clearWebView();

    super.onStop();

}

@Override

protected void onDestroy() {

if (mWebView !=null){

ViewParent parent =mWebView.getParent();

        if (parent !=null){

((ViewGroup)parent).removeView(mWebView);

        }

if (mWebView !=null){

mWebView.removeAllViews();

            mWebView.destroy();

            mWebView =null;

        }

}

super.onDestroy();

}

相关文章

网友评论

    本文标题:webview加载页面,退出或者按HOME键,再返回后数据不显示

    本文链接:https://www.haomeiwen.com/subject/tiaqhctx.html