AS3-非炼金高速内存访问的杂记

说实话,最近的项目,越做越无聊了,核心的东西基本完成,剩下的几乎都是体力活,没什么新鲜好玩的。昨天打完工人物语7,睡意正浓,突然看了两个提神的网页:[http://www.buraks.com/azoth/](http://www.buraks.com/azoth/) 和 [http://philippe.elsass.me/2010/05/as3-fast-memory-access-without-alchemy/](http://philippe.elsass.me/2010/05/as3-fast-memory-access-without-alchemy/) ,这一下子精神就来了。FlashPlayer中读写ByteArray速度应付某些变态需求的时候,总会力不从心,这两天[徐灿](http://www.asblog.org/)被搞得非寻找个离经叛道的非官方手段不可,结果还就真找到了。我之前听闻haXe的高效率是因为作者找到了FlashPlayer10为炼金术提供的底层接口,但因为种种原因没有去使用haXe,看到这俩网页又让我看到了新的花样,原来是一个圈子里的货。它们三个都是找到了FlashPlayer10给炼金术开的“后门”在低层提高性能。

Flash

Loader的资源不释放

昨天遇到个内存泄露的情况。查到最后发现加载外部的一个.swf里面的倒影截的位图没清除导致的。 推测loader.unloadAndStop()虽然会关闭流,但是并不释放被加载的程序中产生的BitmapData。 切记:**除了纯粹的试听对象,所加载的外部程序中有监听、回调、创建了BitmapData的,此外部程序在被unload前请自行了断。**否则你再怎么gc都吃着内存。

Flash