在單機(jī)版程序的設(shè)計(jì)中,對(duì)于需要較長(zhǎng)時(shí)間運(yùn)行的操作,一般都通過(guò)后臺(tái)線程來(lái)完成。如果直接用 UI 線程(在 click 事件中) 運(yùn)行,則 UI 界面長(zhǎng)時(shí)間得不到機(jī)會(huì)重新繪制,會(huì)造成程序假死的現(xiàn)象(俗稱(chēng)“翻白眼”)。
后臺(tái)線程更新界面有一些注意事項(xiàng):
1. 后臺(tái)線程一般不能直接操作界面控件,需要調(diào)用 invoke 之類(lèi)的函數(shù);
2. 后臺(tái)線程更新界面的頻次不能太慢,太慢則也容易讓用戶覺(jué)得程序“死掉了”;
3. 后臺(tái)線程更新界面不能太快,一來(lái)界面更新太快人眼看不清,容易讓人覺(jué)得程序好像失控了,在胡亂顯示一些亂碼;二來(lái),界面更新太快,也會(huì)影響整個(gè)操作的完成速度,更新界面也是需要 CPU 的。我們知道,電影每秒是 24幀,也就是說(shuō),每秒更新畫(huà)面 24 次,是可以讓人覺(jué)得很流暢的,每秒更新超過(guò) 24 次是不必要的。 Read More
posted @ 2012-04-16 11:09
杰克倫敦塵
Views(7182)
Comments(13)
Diggs(1)

浙公網(wǎng)安備 33010602011771號(hào)