[问题] Thread被咬住如何解决?

楼主: pthuang (◢晓筱◤)   2015-07-23 19:26:37
这阵子在设计一支程式 但是遇到了一些瓶颈苦无解法
只好上来求助各位大大
以下先附上程式图与程式码
第一个画面
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
作者: singledream (鱼大头)   2015-07-23 21:58:00
不要在UI thread做CPU bounding的事情。这例子一直去频繁更新UI也是不好的例子就是了,请把耗时的时间交给背景去做,以下是更改的例子。http://ge.tt/9HD62xK2/v/0?c,有误请见谅。

Links booklink

Contact Us: admin [ a t ] ucptt.com