Windows 10 UWP开发:如何不让界面卡死

http://edi.wang/post/2016/2/18/windows-10-uwp-async-await-ui-thread

 

 

关于UI线程

 

这里我们需要一点关于 UI 线程模型的概念,简单的来讲就是,UI 线程是运行在一个无限循环中,并维护一个消息队列,每次循环的开头都会获取队列的第一个消息,例如鼠标的按下消息,然后将这些消息提供给最外层 UI 元素,然后通过一系列的路由事件,传递给每个与该消息相关的 UI 元素,然后就会出现所谓的 MouseButtonDown 事件,然后配合 MouseButtonUp 事件就能组合成 Button 的 Click 事件,然后 UI 线程进入下一个消息循环,再次获取新的输入信息。

 

http://blog.higan.me/dot-net-thread-dispatch-model-dispatcher/

 

 

UWP 应用的 UI 在单线程单元 (STA) 中运行

 

你需要使用 UI 线程进行几乎所有对 UI 线程的更改,包括创建 UI 类型以及访问其成员。无法从后台线程更新 UI,但可以使用 CoreDispatcher.RunAsync 向其发布消息从而使代码在该处运行。

 

注意  有一个例外是存在一个单独的呈现线程,该线程可以应用不会影响输入的处理方式或基本布局的 UI 更改。例如,许多不会影响布局的动画和过渡可以在此呈现线程上运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值