Tag Archives: Flex

查看嘀咕照片的小玩意,暂且叫PictureLife吧。

这两天突然好玩做了这么个玩意,输入嘀咕网的帐号即可浏览该用户的所有照片。 地址: http://app.foxling.cn/picturelife/ 功能: 鼠标拖动:左右滑动,向左滑动时,自动加载更多的照片(前提是还有更多照片…) 鼠标点击空白区域:缩放到合适大小 鼠标滚轮:放大,缩小显示区域 鼠标点击单张小图:加载该大图,并且放大到原始尺寸。 预览图: 后续: 仓促弄出来玩玩,有待继续改进。

在Flex中继承ProgrammaticSkin类自定义皮肤

通过自定义类的方式创建皮肤,控制性更强,占用的内存更少。 ProgrammaticSkin类是外观元素的基类,它们通过编程方式来绘制自身。 关于ProgrammaticSkin类的更多信息,猛击这里: http://www.airia.cn/ActionScript3API/livedocs/mx/skins/ProgrammaticSkin.html 自定义类 package skins { import flash.display.GradientType; import flash.display.Graphics; import mx.skins.ProgrammaticSkin; public class CustomBG extends ProgrammaticSkin { public function CustomBG() { super(); } override protected function updateDisplayList(w:Number, h:Number):void { super.updateDisplayList(w, h); var g:Graphics = graphics; var fillColors:Array = [0x191919,0x262626,0x191919]; var fillAlphas:Array = [1.0,1.0,1.0]; var fillRatios:Array = [0,127,255] g.clear(); drawRoundRect(0, 0, w, h, [...]

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;

AIR日志记录方法

public static function log(txt:String):void { var date:Date = new Date(); var fileName:String; fileName = “errlog-” + date.getFullYear().toString() + (date.getMonth()+1).toString() + date.getDate() + “.txt”; var file:File = File.applicationStorageDirectory.resolvePath(fileName); var fs:FileStream = new FileStream(); txt = “\n\n——–” + date.toString() + “———-\n” + txt fs.open(file,FileMode.APPEND); fs.writeUTFBytes(txt); fs.close(); } 废话不多说,直接看代码,将需要记录的日志,比如出错信息记录到程序数据文件夹,以日期命名,便于追踪信息。

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

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