我正在尝试决定是否应该为某些复杂的可配置业务逻辑规则生成AS3代码,或者我应该将它们表示为数据,并在AS3中编写状态机来解释它。
我的目标是获得最小的编译swf大小。速度不是问题。实施复杂性也不是问题。 (当然,两者都在理性范围内。)
我无法透露足够的细节,我知道我可能应该做实验而不是询问,但我的问题是:
编译为swf时,AS3源的平均压缩率是多少?每千字节源代码的swf字节数是多少?
(我完全理解,答案最多只是一个非常粗略的数字。)
答案 0 :(得分:1)
关于编译的SWF的一些事实:
因此,该比率将取决于标识符,注释甚至制表符或空格首选项的长度。如果你通过obfuscator运行你的结果SWF,它会用A0,A1等替换类名,你应该节省一些字节。
您的状态机理念似乎是最有前途的 - 代码只编写一次,规则可以用紧凑的方式编写。如果你可以将小数字打包成一个int,那就更好了(AS3中没有小于4字节整数和uint的整数)。
答案 1 :(得分:0)
请记住,SWF
文件已经被zlib压缩,因此大多数情况下可能通过数据方式或代码方式擦除任何相对增益。
如果初始加载速度是您的目标,您可以随时分解代码块并根据需要从另一个SWF文件加载它。