大数据量 与 UI交互时的处理 总结与心得

【以下均在主线程中操作时】
1、UI直接操作,数据量较大时,直接使用UI会非常慢
2、数据驱动操作,数据量较大时,数据与UI的交互效率相比“1”提升明显

总结:但以上这两种操作  都会“较长时间”占用主线程,导致UI假死现象

【解决办法,以下两点并用】
1、异步,使用子线程处理耗时业务逻辑,避免因主线程过忙而导致UI假死现象
2、数据驱动,第一:可以提升数据与UI的交互效率(本质上交给WPF引擎去处理了);第二:没有跨线程问题。
例如:数据ObservableCollection.add(item)          效率远远高于         UI控件DataGrid.Items.add(item)

总结:异步的特点是,速度可能比同步还要慢,但主线程不假死;而针对慢的缺点——>我们可以采取“主线程等待进度条”的方式来缓解用户等待时间较长的压力

上一篇:ionic项目中 软键盘弹出之后的问题:


下一篇:This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed(在64位模式下运行安装了32位的Oracle客户端组件时,会发生此问题)