delphi xe 之路(30)Delphi XE7 update1进步太大了

1.更新的bug列表并不全
通过bug修正列表及发布的消息,可以看到up1修正了很多bug,正如我所说,有些bug并没有写到发布的bug列表中,如TextPrompt不显示的问题。

2.解决了对象释放的问题
基于XE7,我做了测试代码,也是我想象中,开发一个实际的项目要用到很多Form,并且是用到时再建立,需要的话,用完就释放掉。为了这个想法,我测试了很长时间,也看了相关的代码,无耐,实际的结果让人颓丧。问题就是建立一个Form,要耗时300毫秒,再复杂点的窗口则要更多时间。就算是在200-300毫秒,其用户体验也达不到java做的android应用了!

为什么会这么慢呢?摸索出以下几个问题:
a.日历与日期控件耗时;
b.DisposeOf不能完全释放内存;
如下面的代码:

for i:=1 to 1000 do begin
    Form1:=TForm1.Create(Application);
    Form1.DisposeOf;
end;

上面的代码在xe7中,建立一个窗口然后释放,如果循环1000次,内存占用300M,再循环下去,直到应用崩溃。只有退出应用,才会释放内存。
这对我来说是个严重的问题,现在在xe7 up1中得到了解决!运行前期的测试代码,内存稳定在67.9M!即在运行上面这个代码的时候,内存不会变化,一直是67.9M.
这是一个让人兴奋的结果。

3.建立窗口的速度提升了10倍

原来的代码,建立一个窗口的速度是300毫秒,现在只到40毫秒左右!有图为证,这是建立1000个Form后,每个建立耗时。你会看到,每次建立的耗时不再增长。
delphi xe 之路(30)Delphi XE7 update1进步太大了

4.内存占用

这是建立了1000个窗口后内存的占用情况:65.2MB
delphi xe 之路(30)Delphi XE7 update1进步太大了
再运行一次,内存没变化!!!

5.FMX控件效率提升
通过运行xe7带的Controls例子,运行起来,基本同原生应用的效率一样,在上个版本中,明显有卡顿,现在没有这个情况了,这可是个把所有fmx可视控件都放到一个Form上,很极端了!你也可以在这个目录找到并运行一下。
C:\Program Files (x86)\Embarcadero\Studio\15.0\Samples\Object Pascal\Mobile Samples\User Interface\Controls
delphi xe 之路(30)Delphi XE7 update1进步太大了

先写到这里,等我再继续测试并分享!
上一篇:win2k8不支持安装ISA2K6服务器


下一篇:基于centos4.4的mg手工下载RPM包安装顺序记录