Flex 重复加载图片对内存和性能的影响
采用Image重复加载图片极大影响性能,并且占用大量内存,下面是我对比验证的代码。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
initialize="loadImage()">
<mx:Button x="122"
y="94"
label="add Low memory Images"
click="addLowMemImages()"/>
<mx:Button x="22"
y="94"
label="add Images"
click="addImages()"/>
<mx:Script>
<!--[CDATA[
import mx.controls.Image;
private var pairImage:BitmapData=new BitmapData(100, 100, false, 0x000000FF);
private function loadImage():void
{
var imageLoader:Loader=new Loader();
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoadComplete);
imageLoader.load(new URLRequest("pair.jpg"));
}
private function imageLoadComplete(event:Event):void
{
pairImage=event.target.content.bitmapData;
}
//低内存高性能方法
private function addLowMemImages():void
{
var canvas:Canvas;
for (var i:int=0; i < 30; i++)
{
for (var j:int=0; j < 30; j++)
{
canvas=new Canvas();
canvas.width=40;
canvas.height=40;
canvas.x=50 * i;
canvas.y=50 * j;
canvas.graphics.beginBitmapFill(pairImage);
canvas.graphics.drawRect(0, 0, 40, 40);
canvas.graphics.beginFill(0xFF0000, 0.5);
canvas.graphics.drawCircle(20, 20, 10);
canvas.graphics.endFill();
images.addChild(canvas);
}
}
}
//慢且占内存高
private function addImages()
{
var canvas:Canvas;
var img:Image;
for (var i:int=0; i < 10; i++)
{
for (var j:int=0; j < 10; j++)
{
canvas=new Canvas();
canvas.width=40;
canvas.height=40;
canvas.x=50 * i;
canvas.y=5
相关文档:
发现了一个Flex中TextInput的一个比较有用的属性restrict(约束,限定),先看下例子:
1,<mx:TextInput id="test_ti" width="160" maxChars="20" restrict="0-9" text="0"/>
这样,这个输入框最多只能输入20个字符,只能输入0到9之间的数字了,你如果输入别的是输入不进去的
2,<mx:TextInput id="test_ti" width="1 ......
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:XML id="xmlSource">
<node label="grandFather" state="unchecked">
<node label="Father" state="un ......
1.下载eclipse的插件包:FB3_WWEJ_Plugin.exe
地址:http://trials.adobe.com/Applications/Flex/FlexBuilder/3/FB3_WWEJ_Plugin.exe
2.在任意目录建一个以下结构的目录:flex_plugin->eclipse->plugins和features
3.进入Flex Builder 3 的安装目录 将plugins目录下所有以 com.adobe 开头的文件或文件夹copy到上 ......
今天突发奇想,想试一试Flex的保存功能,知道FileReference这个类里面直接就有save方法,API也说的很清楚,可是FB里面死活就是找不到这个方法,无奈上网一找才发现原来这个功能是Flash10的功能,而我的FB的默认配置是Flash9,具体修改方法:点项目属性->FLex Compiler->Requiment Flash Player Version改为10.0.0就可 ......
Flash To EXE
Flex端
Flex创建一个Flex Project命名为Demo1,类型选Web application(runs in Flash Player)
在Demo1.mxml上添加一个按钮,并未按钮添加点击事件
private function ButtonClick(event:MouseEvent):void
{
......