我正在为我的应用程序使用 .NET 4.0 客户端配置文件,并运行带有 4 GB 内存和快速硬盘的双核。
一开始没有做任何大的事情,只是在 wpf ListView 中显示一个通用列表。
我怎样才能使我的组件冷启动更快?
我现在再次冷启动并在我的\obj\x86\Debug 文件夹中运行 windowsapplication.exe,我的硬盘像 hell 一样运行,花了 10,5 秒???
怎么了?
冷启动后的热启动需要 1 秒。
Java 6 应用程序没有那个问题,完全不是为了比较......
更新:
我删除了创建 ViewModel 时读取数据的所有方法。
还有10秒出现。从RAM读取数据不是问题。问题是非常繁忙的硬盘,除了运行 .net 4.0 wpf 应用程序之外,它从来没有那么响亮......
我不引用任何 3rd 方 dll`s。
这些是我引用的程序集:
微软CSharp
演示文稿.核心
演示框架
系统
系统核心
系统数据
系统文件
系统文件
系统.XML.Ling
视窗基地
更新 2:
我现在从头开始创建了一个 .NET 4.0 wpf 项目,只有一个空窗口和绿色背景;-)
冷启动耗时 3 秒(硬盘非常忙)
然后我运行我的另一个 wpf 应用程序,它花了 10 秒钟。现在只需要 1.5 秒就可以显示在屏幕上。
现在的情况对我来说很清楚:
我的应用程序没有什么可以使它变慢。它只是关于加载或未加载的第一个 wpf 应用程序。
我想我会像 ADOBE Reader 那样做。在自动启动中放置一个应用程序加速器……是一个小的 hello world wpf 应用程序……
最佳答案
您可以使用 ngen预编译您的程序集。那应该有帮助。
编辑:
可能有一件事可以提供帮助。如果这是一个基于 Visual Studio 中“新 wpf 应用程序”模板的 wpf 应用程序,您的应用程序将引用一堆您可能不会使用的程序集。尝试从您的应用程序引用中删除所有未使用的程序集,看看是否有帮助。
关于.net - 一个 110 kb 的 .NET 4.0 应用程序需要 10 秒的冷启动时间,这是 Not Acceptable !,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2869444/