listview中存放大量数据?Java中是否有所谓的“非托管资源”的概念
时间:2018-03-04 15:10:01
浏览:次
点击:次
作者:
来源:
立即下载
在做类似wireshark的抓包软件,有①个纵向的list来显示包的信息,在显示⑤⓪⓪⓪多条的时候内存占用达到了惊人的①.⑤G。
同类软件wireshark,微软excel等都有纵向list,大量数据内存占用依然可观,想用磁盘缓存数据,但不知道如何具体实现比较完美,求大神解答!
如果你用的是WPF或者UWP, 每①个Element都要占用不少内存,你设计的style/template上可能有多重element, 所以,每①个Item显示出来都要占用不少内存。
基本上,提高性能减少内存的方式就②种:
①) 用尽可能少的FrameworkElement显示同样的效果, 尽可能用简单的控件,比如Grid的Layout Algorithm要比StackPanel/DockPanel复杂的多,如果能用简单的实现,就不要用复杂的。
②) Virtualize Item, 比如WPF里面的VirtualizeStackPanel, 就是即使你bind ⑤⓪⓪⓪item到ListView上,也只有真正显示的Item会使用UI Element, 其它的都只存数据,不更新UI Element.
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
