
flex
文章平均质量分 78
qiance
这个作者很懒,什么都没留下…
展开
-
AVM2中的堆栈与性能优化(转)
转自http://www.qizhi.me/read.php?288 另外加上自己的一点对这文章印象深的《编译原理》讲程序运行时的内存分配策略有静态、栈式和堆式三种。 1、静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,要求程序代码中不允许有可变数据结构的存在; 2、栈式存储分配也可称为动态存储分配,程序对数据区的需求在编译时是完全未知的,只有到运行的转载 2010-01-08 21:57:00 · 901 阅读 · 0 评论 -
关于Flash内存清理(转)
Flash Player的garbage collection(GC)分两种运行方式,一种是“引用计数法”(Reference Counting),一种是“标记-清除法”(Mark Sweeping)。引用计数法是通过计算指向某个对象的引用的数量来确定是否清除该对象。如果一个对象的引用数量为0,表示程序无法再访问到该对象,则清除该对象;如果引用计数不为0,则不清除。这种方法运行代价较小,原创 2010-01-08 22:00:00 · 746 阅读 · 0 评论 -
flash AVM2的开源意味着什么
最近老是被一些底层的东西困扰着,老大说可能的话自己要做个编译器。嘿嘿,这两小罗那边也在叫嚣着自己做个小编译器,嘿嘿。。再者是最近项目里用到了as的正则表达式,非常恶心,反正还是不能满足目前自己的需求,而听老大说as的正则是用perl那的一套,什么版本我也搞不清了,所以也想看看AVM2的底层代码,底层的东西还是很好玩的。。结果发现其早就开源了,找到了篇外国人写的文章,也就不翻译了,直接贴出全文,相信原创 2010-01-08 22:05:00 · 3668 阅读 · 0 评论 -
Timer与getTimer的准确率(转)
<br /> <br />stage.frameRate = 100; var old:int = new Date().getTime();var gt:int = getTimer();var ot:int = old;var t:int; var timer:Timer = new Timer(1);timer.addEventListener(TimerEvent.TIMER,test);timer.start(); function test(e:Tim转载 2010-06-28 11:15:00 · 2828 阅读 · 0 评论 -
flash中try catch的不同编译
<br /><br />转自http://www.laaan.cn/?p=905<br />先看两端代码:<br />function aaa():void {<br />var bytes:ByteArray;<br />try{<br />} catch (e:Error){<br />}<br />}<br />以及:<br />function aaa():void {<br />var bytes:ByteArray;<br />}<br />然后看编译后,用硕思反编译看到的代码对应是:<br /转载 2010-08-22 11:39:00 · 510 阅读 · 0 评论 -
加密和混淆(转一博客文章)
<br />转自http://www.laaan.cn/?p=787<br /><br />还是谈谈自己一直在做的一个应用:flash加密及混淆。从去年8,9月份开始研究。先是研究swf的文件结构,然后是abc的结构。慢慢也明了swf运 行的原理。特别是研究abc结构后,收获很多。然后在写as代码的时候会联想到这些会编译后对应的指令。比如 var a:Number = 3。对应指令就先在local数据中设置一个空间:null,接着一个指令将该空间转换为Number类型,然后添加一个byte数据3到scope原创 2010-08-22 11:29:00 · 763 阅读 · 0 评论 -
as3中属性访问原理(转)
<br />转自http://www.laaan.cn/?p=1493<br /> <br /> <br />今天写代码,发现一个问题:package { public class B { //私有属性 private var doo:String = "abc"; public function test(target:B):* { return target.doo; } }}<br />然转载 2010-08-22 12:03:00 · 874 阅读 · 0 评论