gpt4 book ai didi

.net - 如何减少 WPF 应用程序的内存使用量

转载 作者:行者123 更新时间:2023-12-03 23:12:15 25 4
gpt4 key购买 nike

我正在使用 WPF 开发一个用 C# 编写的小书签管理应用程序。它只是位于系统托盘中,99% 的时间都处于空闲状态。最近我查看了任务管理器,发现它使用了大约 25 兆的内存(在第一次激活之前大约是 12 兆),我认为这对于大多数时间什么都不做的应用程序来说有点多。这让我想知道是否有任何方法可以通过禁用可选的 WPF 功能来减少内存使用量。

我发现了一个可能导致某些事情的事实,尽管我不知道如何利用它。 .NET 中的线程每个占用大约 1 兆字节,结果我的应用程序使用了大约 6/12 个线程(在第一次激活之前和之后)。这占我内存使用量的一半,这是相当重要的。我不直接生成任何新线程,但我不知道 WPF 以及 .NET 的其他部分如何将线程用于不同的任务,因此我发现很难对此做任何事情。对与 GUI 没有直接关系的东西使用事件,例如这是否会产生新线程?

所以我想我的问题是双重的,一般来说,如何减少 .NET/WPF 应用程序的内存使用量,以及如何最大限度地减少产生的线程数?请注意,我并没有过多考虑诸如 this answer 中提到的那些小细节。 ,而是如何设计整个应用程序中的低内存使用率。

最佳答案

不幸的是,根据我的经验,至少在 Windows XP 上,对于我制作的小型 WPF 应用程序,大约 25MB 是我见过的最低值。我认为即使是空模板 WPF 应用程序也需要大约 20MB。你在什么操作系统上运行?

Windows Vista 是一个更好的故事,您可能会看到大约 13-15MB 的空模板 WPF 应用程序。

对于您的应用程序使用 6-12 个线程并且仅使用 ~25MB,我会说您做得很好。 :-)

关于.net - 如何减少 WPF 应用程序的内存使用量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/389047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com