打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MXML组件与ActionScript组件内存使用比较

MXML组件与ActionScript组件内存使用比较

自定义组件有两种方法,一种是使用MXML来定义组件,一种是直接使用ActionScript来自定义组件。但是这两种方法中哪个占用的内存会更多些呢?有人已经作了这方面的测试。原文见这里

分别使用mxml和as来向界面上添加组件
mxml方式:
<mx:Button/> <mx:TextInput/>
<mx:Button/> <mx:TextInput/>
<mx:Button/> <mx:TextInput/>

as方式:
var amount:Number = 1;
for(var i:Number = 0 ; i < amount; i++)
{
    addChild(new Button());//addChild(new TextInput())
}

测试环境:
硬件: Intel P4 3.0G | 1.93G RAM

操作系统: Windows XP sp2

播放器版本: Flash Player 9.0.115

Flex SDK: Flex 2.0.1 Hotfix 3

测试结果:

没有使用任何按钮时 :14596k(0)   1个MXML按钮 1个AS按钮 比较 内存大小 14984k 14852k 14984-14852=132 和没有使用任何组件时的比较 14984-14596=388 14852-14596=256 132/1 = 132   30个MXML按钮 30个AS按钮 比较 内存大小 15528k 15352k 15528-15352=176 和没有使用任何组件时的比较 15528-14596=932 15352-14596=756 176/30=5.8667   120个MXML按钮 120个AS按钮 比较 内存大小 17140k 16924k 17140-16924=216 和没有使用任何组件时的比较 17140-14596=2544 16924-14596=2328 216/120 = 1.8   240个MXML按钮 240个AS按钮 比较 内存大小 18932k 18584k 18932-18584=348 和没有使用任何组件时的比较 18932-14596=4336 18584-14596=3988 348/240=1.45 没有使用任何 TextInput:14596k(0)   1个MXML方式TextInput 1个AS方式TextInput 比较 内存大小 14988k 14896k 14988-14896=92 和没有使用任何组件时的比较 14988-14596=392 14896-14596=300 92/1=92   4个MXML方式TextInput 4个AS方式TextInput 比较 内存大小 15024k 14968k 15024-14968=56 和没有使用任何组件时的比较 15024-14596=428 14968-14596=372 56/4=14   30个MXML方式TextInput 30个AS方式TextInput 比较 内存大小 15588k 15300k 15588-15300=288 和没有使用任何组件时的比较 15588-14596=992 15300-14596=704 288/30=9.6   120个MXML方式TextInput 120个AS方式TextInput 比较 内存大小 16740k 16520k 16740-16520=220 和没有使用任何组件时的比较 16740-14596=2144 16520-14596=1924 220/120=1.8333   1000个MXML方式TextInput 1000个AS方式TextInput 比较 内存大小 30588k 29620k 30588-29620=968 和没有使用任何组件时的比较 30588-14596=15992 29620-14596=15024 968/1000=0.968

结论:
正如上面数据显示的那样,随着组件数量的增加,mxml和as之间占用内存的差距越来越小,但是使用as方式仍然要比mxml方式要小一些,因此还是建议使用as方式

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Flex编程模型
Flex4相对于Flex3的变化 - 唐@朝 - JavaEye技术网站
Flex精华摘要 2:基本MXML功能
Flex data binding pitfalls: common misuses and mistakes | Adobe Developer Connection
自定义Flex组件(一)
Flex 入门教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服