1. 程式人生 > >大資料量 與 UI互動時的處理 總結與心得

大資料量 與 UI互動時的處理 總結與心得

【以下均在主執行緒中操作時】
1、UI直接操作,資料量較大時,直接使用UI會非常慢
2、資料驅動操作,資料量較大時,資料與UI的互動效率相比“1”提升明顯


總結:但以上這兩種操作  都會“較長時間”佔用主執行緒,導致UI假死現象



【解決辦法,以下兩點並用】
1、非同步,使用子執行緒處理耗時業務邏輯,避免因主執行緒過忙而導致UI假死現象
2、資料驅動,第一:可以提升資料與UI的互動效率(本質上交給WPF引擎去處理了);第二:沒有跨執行緒問題。
例如:資料ObservableCollection.add(item)          效率遠遠高於         UI控制元件DataGrid.Items.add(item)


總結:非同步的特點是,速度可能比同步還要慢,但主執行緒不假死;而針對慢的缺點——>我們可以採取“主執行緒等待進度條”的方式來緩解使用者等待時間較長的壓力