Tag Archives: air

Flex 中可能导致内存泄露的地方

收集了不少的会导致内存泄露的情况:
事件监听:
对父级对象加了监听函数,会造成内存泄露,例:

override protected function mouseDownHandler(…):void {
systemManager.addEventListener(“mouseUp”, mouseUpHandler);
……
}

解决:
在销毁对象的时候,remove掉这些监听,虽然弱引用也可以避免这些问题,但自己掌控感觉更好。
但以下几种情况不会造成内存泄露:

弱引用:someObject.addEventListener(MouseClick.CLICK, handlerFunction, false, 0, true);
对自己的引用:this.addEventListener(MouseClick.CLICK, handlerFunction);
子对象的引用:

private var childObject:UIComponent = new UIComponent;
addChild(childObject);
childObject.addEventListener(MouseEvent.CLICK, clickHandler);

总之…有addEventListener,就removeEventListener一下吧,要为自己做的事负责~哈哈
清除引用
remove掉子对象后并不会删除该对象,他还保留在内存中,应该将引用设置为null

removeChildren(obj);
obj = null;

魔嘀新版本(更新1.1版本)

经过一段时间的辛苦奋战,魔嘀终于发布1.0了,所有的代码全部重写,增加了一些常用的功能,并请@ZK设计了全新的UI,现在的魔嘀帅多了。
魔嘀下载页面:http://app.foxling.cn/modi/
但现在还有许多细节都需要优化,时间有限,只能一步一步地更新了~
如果发现了什么BUG,或有什么好的建议,在这里留言吧,不一定一一回复,但我都会整理记录起来的,并且在后面的版本里陆续实现,欢迎在嘀咕网跟随我,一起交流。
AIR应用的通病,内存消耗较大,所以,建议平时不用时最小化吧,最小化后内存占用会比较少,8M-12M左右,我也在不断地优化代码,寻找BUG,使魔嘀的内存占用量能维持在一个比较稳定的水平。

版本更新

1.0 (2009-04-10)

Air学习笔记,窗体常用操作

HTML窗体对象:window.nativeWindow
.visible [true|false]
隐藏/显示窗体,隐藏一个窗体将取消窗体的显示以及相关的任何栏图标
.maximize()
最大化窗体
.minimize()
最小化窗体
.close()
关闭窗体
.restore
还原窗体
.startResize()
改变窗体大小,当该方法在mouseDown 事件里调用时,大小改变是由鼠标确定的,当系统接收到mouseUp事件则停止大小调整。
.startMove()
移动窗体

Dreamweaver CS4 AIR开发环境

AIR可以使用 HTML, CSS 和 JavaScript进行开发,赶紧学习学习~
下载Adobe AIR 扩展 for Dreamweaver
这个插件生成的时候,需要JRE支持~在这里下载安装
事实上,写一个AIR应用相当简单,你只要写HTML+CSS+JS,然后通过这个DW的扩展Create AIR File,就搞定了~~
如果CSS加载不成功~~这是AIR的BUG,打开注册表,找到:HKEY_CLASSES_ROOT / .css
找到Content Type的值,修改为:text/css