转自:青竹的日志
内存优化在项目是一个重要的环节,如果不合理的利用和回收内存会合你的程序整体大大下降.
合理使用对象
创建不同对象一般所消耗的内存是不一样的。如:Number 消耗 8 个字节,int消耗4个字节, uint消耗 4个字节.下面我举一些例子:
1. int 类可使用表示为 32 位带符号整数的数据类型。 int类表示的值的范围是:
阅读更多-2,147,483,648 (-2\^31)到2,147,483,647 (2\^31-1),所以如果你的取值范围在-2,147,483,648 (-2\^31)到2,147,483,647 (2\^31-1)请你用int而不是用Number(刚从2.0转过来的人可能喜欢用 …出处:http://blog.yoz.sk/2010/06/quick-tip-timer-listeners-doesnt-require-remove/
阅读更多1EventDispatcher(event.currentTarget).removeEventListener(event.type, arguments.callee);本文是ActionScript3 Tips and Tricks系列阅读笔记之一Loading Text and XML with URLLoader,查看所有的笔记。
在AS3以前的版本中,要载入外部文本,可以使用LoadVars类和XML类。但是在AS3中,这些功能被移到了一个类中,这就是URLLoader(flash.net.URLLoader)类,这个类与LoadVars很相似。而AS3的XML类中,已经没有了载入外部XML文件的功能。我们可以使用URLLoader类获取外部的文本,并将其解析成普通文本或者XML对象。
阅读更多本文是ActionScript3 Tips and Tricks系列阅读笔记之一Multiple Arguments in trace(),查看所有的笔记。
trace函数可以在Flash的输出面板(Flex Builder的Console面板)中显示信息。在ActionScript1和ActionScript2中,trace函数只能接收一个参数,而在ActionScript3中,trace函数可以接收多个参数:
阅读更多本文是ActionScript3 Tips and Tricks系列阅读笔记之一Determine Instance Class or Superclass,这里是原文地址。
在ActionScript3中,可以使用getQualifiedClassName函数( flash.utils.getQualifiedClassName)获取实例的类名:
1var sprite:Sprite = new Sprite(); 2trace(getQualifiedClassName(sprite)); // 输出"flash.display::Sprite"还可以使用getQualifiedSuperclassName函数 …
阅读更多本文是ActionScript3 Tips and Tricks系列阅读笔记之一“Deep Object Copies with ByteArray”,这里是原文地址。
使用ActionScript3中新提供的 ByteArray类(flash.utils.ByteArray)可以创建一个对象的深度拷贝。“深度”的意思是可以拷贝一个对象(object)的所有引用,这意味着如果你拷贝一个包含对象的数组,那么数组中的对象也被拷贝(而不是引用)。下面是一个clone方法:
阅读更多1function clone(source:Object):* { 2var copier:ByteArray = new ByteArray(); 3copier. …本文是ActionScript3 Tips and Tricks系列阅读笔记之一,这里是原文地址。
很不幸,ActionScript3不支持抽象类(abstract classes),抽象类不能被实例化,并且只能扩展一次。所以,你不能在Flash中创建自己的抽象类。让我们先来了解一下Flash Player中内置的抽象类:
阅读更多本文是ActionScript3 Tips and Tricks系列阅读笔记之一New Variable Types,这里是原文地址。
新的变量类型
ActionScript3支持更多的变量类型,基本的类型包括:
简单类型:
* Boolean
* int
* null
* Number
* String
* uint
* undefined合成类型:
* Object
* Array
* Date
* Error
* Function
* RegExp
* XML
* XMLList其他的类型涉及它们的类,例如:Matrix (flash.geom.Matrix), Shape (flash.display.Shape), …
阅读更多本文是ActionScript3 Tips and Tricks系列阅读笔记之一Graphics Object and the Drawing API,这里是原文地址。
图形对象和绘图API
就像ActionScript1和2一样,ActionScript3也有绘图API,你可以使用它们在影片剪辑和sprite对象中绘制矢量线条或图形。使用ActionScript3,绘图API总是在显示对象(例如影片剪辑、sprite等等)的graphics属性(flash.display.Graphics)中使用。graphics属性表现为绘图API绘制出的一个动态层。就像以前一样,这个动态层位于绘图目标对象的所有的子对象之下。在 …
阅读更多本文是ActionScript3 Tips and Tricks系列阅读笔记之一Class scope is now bound to class methods,这里是原文地址。
类的活动范围已经绑定到类方法(Class scope is now bound to class methods)
(也不知标题这么翻译是否正确,应该大致是这个意思把,简单的说,这个技巧就是讲解this的引用的问题。ActionScript2中,如果位于某个对象的事件处理函数中,this就指向发出这个事件的对象,而在ActionScript3中,this始终都指向类)
ActionScript3是完全基于类的。当你创建类时,你创建的变量和函数(方法)对这 …
阅读更多