As3 这门语言在本身设计的时候处理内存泄漏机制很不完善,所以造成了内存无限制的占用,最后导致内存占用过高直至程序假死或者崩溃。
现在可以通过以下方法有效的降低内存占用:
1,及时将所有不需要的变量,以及对象清除(置为null).如果变量或对象被引用,置为null可能不能清除内存占用。
2,外部文件引入之后的处理方法。
3,监听事件的删除处理。
4,viewStack的bug。
伟大的hack:
try {
var lc1:LocalConnection = new LocalConnection();
var lc2:LocalConnection = new LocalConnection();
lc1.connect(‘name’);
lc2.connect(‘name2’);
}
catch (e:Error) {
}
这段代码执行的效果就是手动回收内存,执行的次数越多,内存回收越明显,但是这个是牺牲CPU的基础上来做的,虽然它使用CPU并不多,但是还是适量的使用。
嗝—-
1,变量或对象的内存回收:
首先需要强调的是被引用变量可能无法有效的回收。所以在回收之前先要确认被引用的变量和引用变量是否被置为null;
var str:String = ‘hello’;
var s:Object = new Object;
str = null;
s = null;
然后在执行hack代码。
2,外部文件
转载请注明:爱开源 » Flash[AS3] 内存优化