使用TBufferedLayout提升UI的显示效率
TBufferedLayout,提升App显示效率的神器!
官方的说法
为了更好地理解TBufferedLayout,我们来看看Layout的定义。
当需要在同一父级下组织多个图形控件时,Layout是其他图形对象的容器。例如,当需要创建具有许多图形控件的FireMonkey应用程序时,可以使用这些Layout,这些控件被分组在同一层上。通过影响Layout的可见性,可以一次设置Layout上所有控件的可见性。
对于TBufferedLayout控件,它将其图形内容(包括其内部控件的图形内容)存储在内存缓冲区中,因此如果没有更改,可以通过显示缓冲区而不是重新绘制每个内部控件来重新绘制。在许多情况下,其效果是更快地刷新控件的UI。
警告:在大型界面上使用TBufferedLayout可能会对内存使用产生负面影响,这就是为什么这种行为不属于核心库的一部分。
为什么加这个控件呢?来源于QC这个问题:
https://quality.embarcadero.com/browse/RSP-15576
如果你不考虑目标用户的手机内存占用,建议用这个来加快界面的显示效率!
怎么用?
在Form放一个 TBufferedLayout做为背景,所有其他的控件都放在其上面,就OK了!