作者pthuang (◢晓筱◤)
看板C_Sharp
标题[问题] Thread被咬住如何解决?
时间Thu Jul 23 19:26:37 2015
这阵子在设计一支程式 但是遇到了一些瓶颈苦无解法
只好上来求助各位大大
以下先附上程式图与程式码
第一个画面
http://i.imgur.com/HHyVH9V.png
第二个画面原本的样子
http://i.imgur.com/Hbg8HPs.png
第一个画面中的「开始」被按下後第二个画面现在的样子
http://i.imgur.com/tOHVzMi.png
程式码:
http://ge.tt/43veWwK2/v/0
原本期待的状况 ===============================================
在第一个画面的开始被按下後跳转第二个画面
此时出现图片与右下角的灰色OK
等待ProcessBar 1.5秒跑满後(此处在正式的程式中会进行一些计算)
灰色OK会变成绿色的OK
现在发生的问题 ===============================================
在开始按下後正常跳转第二画面
但是由於已经开始大量计算1.5秒 因此图片跟灰色OK被卡住来不及显示
而且此时由於大量计算 ProcessBar在前半段非常卡顿
待1.5秒过後 图片跟绿色OK才会出现
但此时ProcessBar的动画大概也才跑完一半
等到ProcessBar整个动画跑完已经过了大约两秒了
想了很久 一直想不到这个问题该如何解决
请版上先进们给个方向 谢谢 m(_ _)m
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.37.100.210
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1437650804.A.118.html
1F:推 singledream: 不要在UI thread做CPU bounding的事情。 07/23 21:58
2F:→ singledream: 这例子一直去频繁更新UI也是不好的例子就是了, 07/23 21:59
3F:→ singledream: 请把耗时的时间交给背景去做,以下是更改的例子。 07/23 21:59
※ 编辑: pthuang (114.37.100.210), 07/24/2015 12:50:29