1

我创建了一个 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 时,Item 从 PinnedItems 转移到 UnPinned,而 Button2 的 OnClick,项目从 Unpinned 转移到 Pinned。

有人请就此向我提出建议。

提前致谢。

KSAM

4

1 回答 1

1

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

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

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

于 2013-06-21T11:29:50.243 回答