从空闲状态返回时,WPF应用程序速度很慢

Gus*_*nti 5 wpf performance

我有一个WPF(.Net 3.5 sp1)应用程序,它在启动时加载一堆数据(启动需要几秒钟)但是在加载数据后它运行良好.当应用程序运行时,如果我没有触摸它一段时间(比如几个小时),然后我替换它,那么它会"非常慢"地"唤醒".我的问题:

  1. 这是为什么?是因为.Net释放了我从内存加载的大数据,它必须以某种方式恢复它?

  2. 我可以在我的应用程序中做什么来防止这种行为,即使我知道在应用程序完成之前我会封存内存?

vel*_*koz 0

我可以看到两种出路:

  1. 在与 GUI 分开的线程中访问所有缓存的数据(这可能需要大量重写工作),
  2. 添加一些始终有效的计时器触发调用(可能只是从缓存中获取一些随机数据),它将使您的应用程序保持非空闲状态,从而防止其内容进入页面文件。