美文网首页
如何避免webview内存泄漏

如何避免webview内存泄漏

作者: 黑键手记 | 来源:发表于2018-11-20 09:54 被阅读29次
  • 1、不要在布局中直接初始化 webview,而是在需要的时候在 Activity 中动态创建 webview ,并且在创建 webview 时使用 Application 的上下文。

代码示例如下:

  LinearLayout.LayoutParams lp = new LayoutParams(ViewGroup.LayoutParams.MatchParent,ViewGroup.LayoutParams.MatchParent);
  WebView wv = new WebView(getApplicationContext()); 
  wv.setLayoutParams(lp);
  linearyLayout.addView(wv);
  • 2、在销毁 webview 的时候,先让 webview 加载空内容,清空历史,然后移除 webview ,然后再销毁webview。

具体代码如下:

    @Override
    protected void onDestroy(){
    //先加载空内容
    if(wv!=null){
      //先加载空内容
     wv.loadDataWithBaseUrl(null,"","text/html","utf-8",null);
      //清空历史
     wv.clearHistory()
      //从布局中移除
      ((ViewGroup)wv.getParent()).removeView(wv);
      //然后销毁
      wv.destroy();
      //然后置为空
      wv=null;
    }
  }

相关文章

  • Android如何避免WebView内存泄漏

    Android如何避免WebView内存泄漏 什么是内存泄漏 内存泄漏通俗的讲就是你创建了一个对象,却没有在合适的...

  • 如何避免webview内存泄漏

    1、不要在布局中直接初始化 webview,而是在需要的时候在 Activity 中动态创建 webview ,并...

  • 内存溢出和内存泄漏

    1.内存泄漏 2.内存溢出 -如何避免内存泄漏、内存溢出?

  • Android内存泄漏场景及解决方法

    本文包括以下内容: 内存泄漏原理 Android内存泄漏发生的情况 检测内存泄漏的工具、方法 如何避免内存泄漏 更...

  • 为何每次用完ThreadLocal都要调用remove()?

    什么是内存泄漏 Key 的泄漏 Value 的泄漏 如何避免内存泄露 什么是内存泄漏 内存泄漏指的是,当某一个对象...

  • 内存泄漏的场景及解决办法

    内存泄漏场景,以及开发过程如何避免内存泄漏。 判断 A引用B,A的生命周期长于B。 Handler导致内存泄漏:H...

  • Android webview使用

    webview的创建 为了防止webview内存泄漏,目前对webview内存的管理有两种模式 webview单独...

  • 面试

    Android 面试要点 2.13更新 内存优化 什么是oom,如何避免? 如何内存控制,内存优化内存泄漏会导致内...

  • Android的垃圾回收与内存泄露

    标签(空格分隔): Android 内存泄漏的基本知识请见博客一如何高效使用handler避免内存泄漏请见博客二 ...

  • 一篇文章学会定位内存泄漏

    在日常开发中,不可避免的会碰到内存泄漏问题,本片文章作为记录自己在工作中如何使用工具发现内存泄漏,定位内存泄漏。 ...

网友评论

      本文标题:如何避免webview内存泄漏

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