任务管理器中WPF应用程序的内存消耗

时间:2013-06-21 09:11:16

标签: c# wpf xaml wpf-controls

我创建了一个WPF应用程序,我的客户端问我每次操作都会增加内存消耗。他说他检查了TaskManager。(是的,我也检查了)。

我已经使用ANTS检查了任何内存泄漏,但我失败了。我已经清除了我的应用程序中的内存泄漏问题(众所周知,内存泄漏和内存消耗不同)。但是每次操作的内存消耗仍然相同,比如在ListBox中选择项目

这是我使用的CS代码。

private void button1_Click(object sender, RoutedEventArgs e)
    {
        ListBoxItem item = (PinnedListBox.SelectedItem as ListBoxItem);
        PinnedListBox.Items.Remove(item);
        UnPinnedListBox.Items.Add(item);
    }

    private void button2_Click(object sender, RoutedEventArgs e)
    {
        ListBoxItem item1 = (UnPinnedListBox.SelectedItem as ListBoxItem);
        UnPinnedListBox.Items.Remove(item1);
        PinnedListBox.Items.Add(item1);
    }

单击Button1时,项目从PinnedItems转移到UnPinned,OnClick of Button2,项目从Unpinned转移到Pinned。

有人请就此提出建议。

提前致谢。

KSAM

1 个答案:

答案 0 :(得分:1)

与Winforms应用程序相比,WPF应用程序使用相对大量的内存。 但即便如此,当您的应用程序正在运行时,操作系统会根据应用程序的需要为其提供内存。在某个时刻,你的应用程序将进行垃圾收集,基本上会释放内存。

你可以通过最小化你的应用来做一个简单的技巧来释放一些内存。

另见:http://windows.microsoft.com/en-my/windows-vista/what-do-the-task-manager-memory-columns-mean