首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebView消耗了太多的内存

问WebView消耗了太多的内存
EN

Stack Overflow用户
提问于 2013-07-19 08:19:33
回答 1查看 9.8K关注 0票数 5

在我的应用程序中有两个活动:A和B。

活性A:

它有一个列表,它简短地显示有关某一项的信息。当单击A上的项时,它会加载活动B。

活性B:

它有两个web视图和几个列表视图。活动的顶部被标题web视图占据。活动的较低部分有选项卡主机,这是第一个选项卡中的第二个web视图,其余的选项卡每个都有一个列表视图。

问题:

当用户从A导航到B时,堆大小会显著增加。即使在我从B导航回A之后,堆的大小仍然是相同的。甚至没有一个字节减少,事实上,它有时会增加。是的,这是因为这些网络视图。我读过关于网页视图,内存泄漏在SO和其他网站。我遵循了提到here的方法

  1. 在containerRelativeLayout中动态添加web视图。删除了关于活动onDestroy的网页视图
  2. 本文中建议的子类web视图
  3. 每次清除web视图缓存等

无论堆大小如何,都不会回到导航到B之前的状态。

真的很感激有人能引导我找到一个可能的解决方案

注:

我已经看过这篇文章了,也注意到了这个问题。Memory leak in WebView

编辑:

我尝试过不使用B中的web视图,堆大小的增加非常少,大约在0.5 MB左右,但是对于web视图,它会增加4-5 MB。

堆大小日志(根据提到的here 的建议获得)

代码语言:javascript
复制
onCreate B
debug.heap native: allocated 4.11MB of 4.17MB (0.01MB free) in []    
debug.memory: allocated: 12.00MB of 96.00MB (1.00MB free)


onDestroy B
debug.heap native: allocated 8.66MB of 10.08MB (0.48MB free) in []    
debug.memory: allocated: 12.00MB of 96.00MB (1.00MB free)

on Resume A    
debug.heap native: allocated 7.94MB of 10.08MB (1.32MB free) in []
debug.memory: allocated: 12.00MB of 96.00MB (0.00MB free)

在启动和销毁B之前和之后,我通过进行堆转储来交叉检查这些数字,堆大小与我在日志中得到的堆大小相当接近。

EN

回答 1

Stack Overflow用户

发布于 2013-11-15 18:54:04

我遵循了一系列的步骤,减少了内存占用。这就是我所做的,而不是通过xml静态地创建webview,而是以编程的方式创建webview并将其添加到容器中。一旦不再需要webview,我就从容器中移除webview,然后从webview中移除所有视图,并对其进行销毁。最终,内存分配减少。

代码语言:javascript
复制
private void releaseWebView() {

    webViewContainerRelView.removeAllViews();
        if(mWebView != null){
            mWebView.setTag(null);          
            mWebView.clearHistory();
            mWebView.removeAllViews();          
            mWebView.clearView();
            mWebView.destroy();
            mWebView = null;
        }
}

我从活动的releaseWebView方法调用onDetachedFromWindow (),如下所示。

代码语言:javascript
复制
@Override
public void onDetachedFromWindow() {
    super.onDetachedFromWindow();
    releaseWebViews();
}
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17741297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档