K M*_*hta 9 c# silverlight wpf dispatchertimer
我没有考虑具体的情况,但是当我想到可能想要在DispatcherTimer上使用Timer的场景时,这个问题在我脑海中浮现.
在我必须执行计算密集型任务时,每当计时器事件触发,然后对UI 进行微小修改时,在性能方面会更好:
我的猜测是尽可能长时间地保持UI线程不被阻塞将增强用户体验.如果这是可取的,在这种情况下是否有任何我应该注意的捕获量?
编辑:
我觉得我的问题不够明确,所以我将尝试添加一个具体的,虽然是一个简单的例子.
假设我必须每2分钟读取一个大文件,当我完成后,我必须将一个项目添加到ListBox.假设读取/处理文件需要10-15秒,在此期间我没有UI工作.对于这样的事情,最好的方法是什么?
要点:
执行计算密集型任务
这表示不使用DispatcherTimer.它主要用于在主线程上执行小任务,避免创建另一个线程.
如果您使用DispatcherTimer启动Backgroundworker,那么您将绕过它的主要目的.
所以在这里只需使用常规定时器.
经过更多的研究和分析,我得出的结论是,在我编造的示例中,常规计时器效果最好。到目前为止,我还没有必要寻找任何可能导致我的代码出现潜在问题的具体内容。话虽如此,良好的编码实践永远不会有坏处!