设计高性能的表格控件

简单的实现

一行数据创建一行显示。这种方法实现起来比较简单,数据与界面行一一对应,数据操作,表格滚动也非常方便,所以,大多数界面控件都采用这种实现方式。

但是,在大数据量的时候这种方式就显得非常的低效,因为创建了大量在显示区域外的行。要知道,创建、显示界面元素是非常耗计算资源的。

 

高效的实现

知道了上述方式的不足后,就能设计优化的方案了。因为界面元素是影响性能的大户,所以,改良后的方式是,只创建表格区域能够显示的行数,例如:目前表格区域只能显示10行就只创建10行,当表格大小改变能显示15行时就创建到15行。

然后设置一个数据范围,只显示当前位置的数据段。这样节省了大量的界面元素的创建,但是也加大了编程的难度,要控制数据的滚动,显示的刷新,显示索引与数据索引不匹配等等。

 

粗略测试

显示5万行(不算创建5万行数据的时间)

简单的方式:机器卡死直到崩溃。

高效的方式:用了0.5秒。

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值