【问题标题】:Limit WebBrowser from consuming too much memory限制 WebBrowser 消耗过多内存
【发布时间】:2012-05-03 07:10:49
【问题描述】:

我正在做一个涉及WebBrowser控件的项目,有以下问题。

  1. 是否可以限制每个 WebBrowser 实例可以消耗多少内存?

  2. 启用 javascript 会增加 WebBrowser 的内存消耗

通常的想法是项目必须使用 WebBrowser 以便我使用更少的内存?目前,当使用 WebBrowser 控件时,我的应用程序的 RAM 使用量确实超过了 145 mB。如果不使用 WebBrowser 控件,则最大只有 50 mB。

【问题讨论】:

  • A couple of UX experts(在 10m 左右)建议您除非绝对必要,否则不要使用该控件,并且建议您将用户发送到 IE 浏览网页内容。
  • 哈哈,我也更喜欢这种方法:D 但这是我无法更改的项目要求?

标签: c# .net windows-phone-7 webbrowser-control


【解决方案1】:

1) 据我所知,没有 API 可用于限制应用程序/任务的 RAM 使用 - 这取决于操作系统的判断和/或应用程序使用的功能。

2) JavaScript 在客户端执行,因此可以安全地假设内存消耗会增加。

我建议您尝试通过最新 SDK (7.1) 附带的性能分析器运行您的应用程序。

Nokia 有很多关于内存使用的文章,尤其是遇到 256MB 设备时。

【讨论】:

  • 当WebBrowser控件超过一定的内存限制时引入软故障怎么办?当触发软故障或内存限制时,它会执行其他清理逻辑吗?
  • 您无法检测到 RAM 使用情况,这不是 OS/SDK 向开发人员公开的。
  • 也许我只需要改用 System.GC 并设置某个阈值?可行吗?
  • 我建议您阅读以下 MSDN 博客文章 - blogs.msdn.com/b/abhinaba/archive/2011/06/14/…
猜你喜欢
  • 2015-11-30
  • 2017-10-07
  • 2016-05-12
  • 1970-01-01
  • 2022-11-28
  • 1970-01-01
  • 2020-09-02
  • 2021-03-29
  • 2016-09-26
相关资源
最近更新 更多