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

flex开发中关于内存释放几个注意的地方

1.监听事件时用弱引用方式(特别是对Applicatiion.applicaion和Stage的事件监听),方式如下:第五个参数值为true
Application.application.addEventListener(MouseEvent.CLICK,doClick,false,0,true);
2.集合类如Array和Dictionary里的元素,在不用的时候要设置为null;(尤其是主页面上的集合类),如:myMap[o]=null;
3.方法中创建的变量引用必须用var修饰,否则将被认为是全局变量,永远不会释放内存。
4.所有的css类都定义到css.css文件里,不要在模块里定义css,不然会导致gc不干净
5.moduelLoader的内存泄露问题:
经过初步测试,在debug版的flashplayer里,ModuleLoader的unload方法有严重的内存泄露问题(用moduleLoader不断地加载不同的url);但是在release版中表现正常;
如果需要在debug版的方法里规避此问题可用以下方法加载url,不要用unloader方法:
/**
*为了解决moduleLoader的内存泄露问题
* @param oldMLoader 需要改变url的moduleLoader
* @param url 指定的url
*
*/
static public function fixLoadForModuleLoader(oldMLoader:ModuleLoader,url:String):void{
var tparent:Container=oldMLoader.parent;
var index=oldMLoader.parent.getChildIndex(oldMLoader);
var newMLoader:ModuleLoader=new ModuleLoader();
newMLoader.url=url;
tparent.removeChildAt(index);
tparent.addChildAt(newMLoader,index);
newMLoader.name=oldMLoader.name;
newMLoader.percentWidth=oldMLoader.percentWidth;
newMLoader.percentHeight=oldMLoader.percentHeight;
oldMLoader=newMLoader;
if(oldMLoader.parent is ViewStack){
(oldMLoader.parent as ViewStack).selectedIndex=index;
}else if(oldMLoader.parent is TabNavigator){
(oldMLoader.parent as TabNavigator).selectedIndex=index;
}
}
复制代码


相关文档:

Flex学习好网站


新手入门参考:
Adobe Flex 3 - adobe.com
Adobe Flex Sample Applications - adobe.com
Video Training (Learn Flex in a Week) - adobe.com
RSS Feeds (Get regular updates about Flex) - adobe.com
Learn about Flex Open Source - adobe.com
Get Flex 3 SDK - adobe.com
Get Flex Builder 3 - adobe.com ......

使用flex的成本


使用flex的成本
FLex语言本身免费开源
LCDS:  
做 remote object access service的,说简单点就是沟通后台java和前台flex直接的桥梁
adobe官方的东西,收费,很贵
BDS: 开源免费,基本上可以完全替代LCDS,也是adobe官方的东西,估计是LCDS没人用,他又不好意思直接免费搞出来的东西
JRUN: 应用服务器,也很 ......

Flex与后台交互的4种方法

一、HTTPService
程序代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">
<mx:Script>
<!--[CDATA[
private function initializeHandler(event:Event):void {
countriesSer ......

flex 资源国际化

现在flash builder 4已经自带了多种语言包,在使用的时候直接拿过来用就可以了,在使用资源文件的时候,需要设置一下资源参数
-locale=en_US,zh_CN -source-path=locale/{locale}
flex 3.x的版本的sdk只支持英文和日文,如果需要中文,则可以从flex
4.xsdk的\frameworks\locale拷贝zh_CN等文件夹到flex3.x的\frameworks ......

flex webserver .net

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<!--[CDATA[
import mx.rpc.ev ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号