我有一个启动对话框按钮,它创建一个窗口的视图模型并将其绑定到窗口(它启用了UI虚拟化).第一次单击启动对话框只需1秒钟.但是,如果我经常或背靠背打开同一个对话框,它会开始花费更多时间来填充网格数据源以进行下一次迭代.如果我暂停,然后再打开窗口,那么只需要大约1或2秒钟.
for first time populating the item source it take only 1 second: next time populating the item source it takes 2 second next time populating the item source it takes 3 second next time populating the item source it takes 6 second next time populating the item source it takes 8 second
但是,如果我调用不推荐的GC.Collect(),则填充网格数据源总是需要大约1秒钟.但呼唤
Gc.Collect() Gc.WaitForPendingFinalizer() Gc.Collect()
每次迭代都花费我一些时间.