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

简介: <span style="background-color:rgb(255,255,255)"><span style="color:rgb(64,64,64); font-family:'Microsoft YaHei','Helvetica Neue',SimSun; font-size:14px; line-height:21px">1.更新的bug列表并不全</span><br s
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 <wbr>XE7 <wbr>update1进步太大了

4.内存占用

这是建立了1000个窗口后内存的占用情况:65.2MB
Delphi <wbr>XE7 <wbr>update1进步太大了
再运行一次,内存没变化!!!

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

先写到这里,等我再继续测试并分享!
目录
相关文章
|
关系型数据库 MySQL
delphi xe 之路(27)XE7 Datasnap使用dbExpress连接MySQL
<p style="margin-top:14px; margin-bottom:14px; padding-top:0px; padding-bottom:0px; word-break:normal; word-wrap:break-word; font-size:16px; line-height:28px; font-family:simsun; text-indent:2em;
3763 0
|
Android开发
delphi xe 之路(26)xe7开发的安卓程序,体积宏大
<span style="font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; line-height:21px">原因没找到,但似乎可以这样解决: </span><br style="margin:0px; padding:0px; font-family:verdana,'ms song',宋体,Arial,
3320 0
Delphi XE之路(11)Delphi XE5 给Edit增加自定义按钮
<span style="color:rgb(64,64,64); font-family:simsun; font-size:14px; line-height:21px; background-color:rgb(135,123,16)">手机上的Edit,如果增加一个按钮,会非常方便用户操作,XE5为我们想到了,下面看看如何为一个TEdit增加一个按钮:</span><br styl
4088 0
|
安全 Windows
Delphi XE之路(7)Mobile MessageDlg函数
<div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> <span style="margin:0px; padding:0px; color:rgb(50,62,50); font-family:simsun">在用XE5创建
2747 0
|
IDE 开发工具
delphi xe 之路(14)使用FireMonkeyStyle
<p>FireMonkey使用Style来控制控件的显示方式。</p> <p>每个控件都有一个StyleLookup属性,FireMonkey就是通过控件的这个属性来在当前窗体的StyleBook控件中查找匹配的Style,如果找到了这个Style,那么控件就使用这个Style来显示。</p> <p> </p> <p>StyleBook是一个Style的集合,里面可以有窗体的Styl
3123 0
|
数据库 索引
delphi xe 之路(20)clientdataset的详细介绍02
<div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> <span style="margin:0px; padding:0px; color:rgb(12,12,12); font-family:simsun">ClientD
2451 0
|
SQL 存储 程序员
delphi xe 之路(19)clientdataset的详细介绍01
<div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> <span style="margin:0px; padding:0px; color:rgb(12,12,12); font-family:simsun"><strong
4141 0
delphi xe 之路(23)clientdataset的locate函数
<div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px">  <span style="margin:0px; padding:0px; color:rgb(51,51,51); font-family:arial,'courier
2855 0
delphi xe之路(16)ini文件的操作
<span style="font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px">filecreate('路径加文件名');//创建一个文件。 </span><br style="font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-heigh
2758 0