我现在要不断的从外部usb口接收数据,800k/s,而且需要将这些数据显示在list 上,每行显示128字节,现在初步打算显示100万行。我试了一下,单纯给list control 添加100万行数据就需要两分钟。看到网上说用virtual list和数据库,可是我这些数据都是实时接收的,难道还要放进数据库吗。这样岂不更慢了。有什么办法解决吗,多谢

解决方案 »

  1.   

    分页显示 + 虚拟列表(虚拟数据容器负责数据管理)。把需要显示的数据hold在你的虚拟列表容器里面,根据需要更新覆盖旧的数据,保证只有需要显示的数据在容器里面。
      

  2.   

    将接收到的数据先存到内存中,用zyq5945的说的分页显示的方法。就用这个方法,不断的接收以后更新内存的数据,再更新显示数据
      

  3.   

    具体怎么实现呢,比如我现在接受到1kb的数据,然后把它放到哪里再显示,不可能用数据库吧,数据库更慢,如果单纯把大量数据放在内存中怎么用于虚拟列表的分页显示。这个我只知道用数据库作为list control的源。
    能贴点代码吗,多谢
      

  4.   

    你可以用一个数组或内存堆把数据存储起来,如果很大可以使用虚拟内存文件,在list中访问数组或内存就可以了