2016-04-29 61 views
1

我制作了Windows Phone应用程序并面临内存问题。应用程序关闭,因为它使用的内存太多。如何解决Windows Phone应用程序中的内存问题

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

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

+0

你必须明白为什么物体存在以及它们何时不应该存在。 https://www.yourkit.com/docs/80/help/memory_leaks.jsp –

回答

2

大内存孔通常来自大文件或小数据的大循环。使用垃圾收集器,您实际上不会再获得内存空间,但由于GC不会清理仍在使用的变量,因此您仍然可以轻松获取内存素材。这也可能发生在循环引用多个对象的情况下。

所以你应该检查你的代码中没有发布的对象的引用。

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

1

如果要创建从的.cs的BitmapImage总是解码像素高度/宽度是这样的:

BitmapImage bmp= new BitmapImage("ImageUrl"); 
bmp.DecodePixelHeight = 150;//image control size 
bmp.DecodePixelWidth = 150; 

它的确与众不同!

相关问题