易截截图软件、单文件、免安装、纯绿色、仅160KB

flex 垃圾回收

Flex垃圾回收和性能优化
2009-10-10 10:08
Flex垃圾回收的一些知识总结:
1、被删除对象在外部的所有引用一定要被删除干净才能被系统当成垃圾回收处理掉。
2、父对象内部的子对象被外部其他对象引用了,会导致此子对象不会被删除,子对象不会被删除又会导致了父对象不会被删除。
3、如果一个对象中引用了外部对象,当自己被删除或者不需要使用此引用对象时,一定要记得把此对象的引用设置为null。
4、本对象删除不了的原因不一定是自己被引用了,也有可能是自己的孩子被外部引用了,孩子删不掉导致父亲也删不掉。
5、除了引用需要删除外,系统组件或者全局工具、管理类如果提供了卸载方法的就一定要调用删除内部对象,否则有可能会造成内存泄露和性能损失。
6、父对象立刻被删除了不代表子对象就会被删除或立刻被删除,可能会在后期被系统自动删除或第二次移除操作时被删除。
7、如果父对象remove了子对象后没有清除对子对象的引用,子对象一样是不能被删除的,父对象也不能被删除。
8、注册的事件如果没有被移除不影响自定义的强行回收机制,但有可能会影响正常的回收机制,所以最好是做到注册的事件监听器都要记得移除干净。
9、父对象被删除了不代表其余子对象都删除了,找到一种状态的泄露代码不等于其他状态就没有泄露了,要各模块各状态逐个进行测试分析,直到测试任何状态下都能删除整个对象为止。
10、当触发了某个event后,不再使用的话,请将其remove掉。
11、能不使用Effect就不要使用Effect。
内存泄露举例:
1、引用泄露:对子对象的引用,外部对本对象或子对象的引用都需要置null。
2、系统类泄露:使用了系统类而忘记做删除操作了,如BindingUtils.bindSetter(),ChangeWatcher.watch()函数时候完毕后需要调用ChangeWatcher.unwatch()函数来清除引用 ,否则使用此函数的对象将不会被删除; 类似的还有MUSIC,VIDEO,IMAGE,TIMER,EVENT,BINDING等。
3、效果泄露:当对组件应用效果Effect的时候,当本对象本删除时需要把本对象和子对象上的Effect动画停止掉,然后把Effect的target对象置null; 如果不停止掉动画直接把 Effect置null将不能正常移除对象。
4、SWF泄露:要完全删除一个SWF要调用它的unload()方法并且把对象置null。
5、图片泄露:当Image对象使用完毕后要把source置null。
6、声音、视频泄露: 当不需要一个音乐或视频是需要停止音乐,删除对象,引用置null。
内存泄露解决方法:
1. 在组件的REMOVE


相关文档:

用FLEX如何取浏览器地址栏中的域名信息?


用FLEX如何取浏览器地址栏中的域名信息?我查找到两种方法:
第一种方法是用ExternalInterface.call('window.location.href.toString'),它的值就是地址栏中的域名
有以下几点需要注意:
1.当Flash和加载它的网页不同域时,需要在网页在 PARAM 或 EMBED 标签中进行设置AllowScriptAccess 为“always”
关于 ......

Flex天气服务


Flex调用远程天气服务
Flex提供天气服务
2010 年 01 月 08 日
使用Flex调用远端天气服务,从而提供可定制的天气服务。
获取远端天气服务API,关于天气内容一般是以xml形式提供。
调整界面布局
使用Flex的WebService组件调用远端天气服务接口
下载源码
......

flash杂志:新一期flash&flex 国外的杂志发布

新的一期的flash&flex 国外的杂志发布,看来一班制作人真的很有心思。最近CSDN 图片上传不到,连写东西也不方便了。
所以就无办法贴图了
有兴趣的人可以到这里下载新的一期外国的关于flash 和flex 资讯的杂志。
http://ffdmag-en.software.alfa.javatech.com.pl/download-1-2010 ......

Flex Resource Bundle 在Localization方面的应用

Flex framework有提供Resource Bundle,用于对外部资源的引用。
而其一个基本的用法就是用于应用程序的Localization,让程序根据不同的locale显示不同的文字,图片。换句话,你必须为每个locale准备一套asset。
在具体应用的时候,你通常要决定使用以下两个策略。下面以引用外在的一句文字做例子。
策略一:编译时设定
......

Flex中文件的上传下载

关键词:文件上传,文件下载,FileReference,FileReferenceList,FileFilter
在项目开发过程中,经常会遇到文件上传下载的问题。但在flex中由于安全沙箱的原因,flex程序不能直接访问本地文件。但是flex SDK中提供了FileReference和FileReferenceList两个类,可以通过这两个类来实现,这两个类位于flash.net包中。
一、 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号