c# - 如何解决 Windows Phone 应用程序中的内存问题

标签 c# silverlight memory windows-phone-8

我制作了一个 Windows Phone 应用程序,但遇到内存问题。应用程序因使用过多内存而关闭。

我尝试寻找方法来弄清楚正在使用多少内存,哪些变量消耗的内存最多,等等。 我进行了内存分析,发现当用力使用应用程序 2 分钟时,它会消耗 > 150 MB,因此会关闭。

但是我无法知道哪个变量正在消耗内存。或者如果它的图像正在消耗内存。我有一个 appviewmodel 变量,我猜它可能太大了,但我想确认一下。我怎样才能知道这个变量使用了多少内存?

最佳答案

大内存空洞通常来自大文件或小数据的大循环。使用垃圾收集器,您实际上不再有内存漏洞,但由于 GC 不清理仍在使用的变量,您仍然可以轻松获取内存片段。这也可能发生在多个对象的循环引用中。

因此您应该检查您的代码以查找您未释放的对象的引用。

一件事是,我记得 Windows Phone 8 存在位图内存泄漏。所以你应该像这样清理你的图像 questions .我不确定,如果这是我记得的事情。

关于c# - 如何解决 Windows Phone 应用程序中的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36935944/

相关文章:

c# - 如何将 xaml flipview 限制为仅在一个方向上翻转?

c# - 有没有办法用某个表中的列名填充组合框?

c# - 为什么 decimal.Parse() 比 (decimal)double.Parse() 慢?

visual-studio - Xap 打包失败。你调用的对象是空的

Silverlight - 获取域信息

php - 使用 php ://input 内存耗尽

linux - 如何查看哪个 PHP 脚本消耗的内存最多?

c# - Linq-to-SQL:组合(或运算)多个 "Contains"过滤器?

html - 如何为 silverlight 页面启用自动滚动

c++ - 内存分配问题 C/Cpp Windows 严重错误