Windows Phone分析和高内存

本文关键字:内存 高内存 Phone Windows | 更新日期: 2023-09-27 18:11:19

我目前正在创建一个Windows Phone应用程序,我有限制内存使用量的问题。我正在使用内置的Windows Phone分析工具。

应用程序同时执行以下操作:*后台调用API(使用Newtonsoft JSON解析结果)。网库)*计算要显示的对象,当计算完成后,绑定它。

问题是,内存的总量真的很高。它平均使用80- 90mb,有时超过90mb(这个应用程序必须在商店中)。

应用程序执行分析显示了以下注意事项:系统线程和托管线程都使用了高内存。它还说记忆是"纹理主导的"。所以我做了一个记忆分析。

档案相册

分析器注意到"内存中大量的纹理分配"。大多数情况下是50%左右。关于这个问题:纹理也是自定义用户控件吗?我记得读过一些东西,每个用户控件都被保存为内存中的位图

当我查看堆摘要时,它显示了几个高值。我应该如何解释这些数据?这些数字应该如何相互比较?

看一下类型,String使用了13%。这是否意味着String使用了最多的内存?

这是否意味着字符串使用了最多的内存?还是我看错了地方,那里使用了最多的内存?例如,我是否应该查看堆摘要中的"开始时保留的视觉效果"?如果我看那里,一些值是由我自己编写的用户控件引起的。我使用一个Listbox(因为它支持UI虚拟化),但是我使用我自己的控件作为ListboxItem。我应该用一个Listboxitem代替它们吗?

我找不到一个关于如何使用分析工具的清晰教程:-(我个人觉得很难理解(例如,如果你将它与Android分析工具进行比较)。

TL;DR:帮助理解分析工具,并试图找到使用这么多内存的原因

提前感谢!

Windows Phone分析和高内存

你的应用程序中有太多的图片吗?大多数情况下,高内存是由于没有正确调整图像或不良实践造成的。