C# 有没有一种方法可以精确地查看每个XAML元素使用了多少内存?

C# 有没有一种方法可以精确地查看每个XAML元素使用了多少内存?,c#,wpf,visual-studio,xaml,uwp,C#,Wpf,Visual Studio,Xaml,Uwp,有没有一种方法可以精确地查看每个XAML元素使用了多少内存? 我不确定网上是否有一个列表。我想知道每个XAMLUI元素需要多少内存,以便在选择时在某些情况下更具选择性 是否有准确的方法在调试器中获取此信息?如果要获取.net和/或WPF中每个对象使用的确切内存量,必须咨询内存分析器。VisualStudio包括一个(可能只有企业版的VisualStudio),或者您可以使用dotMemory或类似的工具。(只需使用您喜爱的搜索引擎搜索.net内存分析器) 教程:这种内存优化不是我们.NEt程序员

有没有一种方法可以精确地查看每个XAML元素使用了多少内存? 我不确定网上是否有一个列表。我想知道每个XAMLUI元素需要多少内存,以便在选择时在某些情况下更具选择性


是否有准确的方法在调试器中获取此信息?

如果要获取.net和/或WPF中每个对象使用的确切内存量,必须咨询内存分析器。VisualStudio包括一个(可能只有企业版的VisualStudio),或者您可以使用dotMemory或类似的工具。(只需使用您喜爱的搜索引擎搜索.net内存分析器)


教程:

这种内存优化不是我们.NEt程序员通常要处理的事情。特别是在XAML UI中,虚拟化应该保持内存配置文件的可管理性()。如果您确实存在内存问题,那么后端数据成为问题的可能性要高出一千倍。这不仅会占用内存,还会导致更多的XAML元素被实例化。如果整个过程中都包含字符串(即使在输出过程中),那么内存测量就变得更加困难。内存量与数据绑定到的项目数成正比。使用1、10、100、1000、1000000项进行测量,并检查分配的托管堆,例如使用MemAnalyzer()或Visual Studio profiler。这样你就可以精确地衡量每件物品消耗了多少内存。谢谢你的回复。我只是想知道不同的对象需要多少内存。例如,ListView、TextBlock、TextBox、StackPanel等。我想知道,除了运行时可能引入的额外复杂性之外,是否还有其他方法可以知道这些项占用了多少RAM。我想进一步优化我的ListView并使用我能找到的最简单的元素。这实际上是不可能的,因为每个控件的内存量取决于它的
ControlTemplate
Style
。即使是一个简单的
TextBox
也可能有一个复杂的控件模板,更不用说像
ListView
DataGrid
这样庞大的东西了。