我刚刚看了一下 Firemonkey 的网格实现,结果发现它是一个非常简单的实现(只有 1800 行,对于网格实现来说似乎并不多)。它几乎没有自定义绘画,而是聚合了许多其他控件——这似乎是 Firemonkey 的处事风格。
例如,每一列都有一个控件数组——每个单元格一个。对于具有 1,000,000 行的普通文本列,网格将在内存中保留 1,000,000 个编辑控件 - 这对我来说似乎有点疯狂。(编辑:现在不太确定这个假设是否正确。它似乎考虑了单元格的可见性,这可能意味着它确实提供了类似虚拟模式的东西,但我不太确定......)
我的问题:毫无疑问,Firemonkey 的这种组件聚合设计看起来简单而优雅,但它真的可以很好地适应必须在网格中显示的数据量吗?我无法想象它在大量行中表现良好。Firemonkey 处理大量数据的方式是什么?
感谢您的任何意见。