知道不太知名的AS3属性的文档

时间:2009-09-17 13:39:09

标签: flex flash actionscript-3 actionscript

在过去三周内,由于ActionScript 3中一些鲜为人知的功能,我至少丢失了120个工时。其中一个问题是,使用Internet Explorer,如果通过LocalConnections发送的邮件太多,它将会减慢发送的消息,但在独立播放器和Firefox中,此阈值明显更高。另一个是,即使没有使用成员本身,也会实例化类的静态值:

import path.to.FooClass;

private function thisIsNeverCalledButItEnsuresThatFooClassIsImported():void
{
    var f:FooClass = new FooClass();
}

由于FooClass具有对Singleton的静态引用,因此Singleton被实例化,因此当我加载使用该Singleton的Module时,它将以不可预测的方式绑定到值。

事情以意想不到的方式表现的其他情况:

  • MovieClip.addFrameScript
  • flash.trace.Trace as a class
  • int是一个更快的增量类,数字对于数学来说更快,而且uint非常慢。
  • PrintDataGrid,如果它只有一个页面,则需要在其dataProvider的末尾附加一个空值
  • 如果你使用try ... catch两个LocalConnections并将它们连接到同一个通道,你将强制进行垃圾收集而不需要System.gc

所以这是问题(我很抱歉在原帖中省略了这个),是否有任何关于此类行为的合并文档?是否有关于这些问题(网站,论坛,书籍,任何内容)的任何(甚至非Adobe)文档?我知道这些东西绝对容易记录,但有人这样做了吗?

如果没有,我错过了什么吗?还有其他我应该知道的问题吗?

3 个答案:

答案 0 :(得分:0)

这种有用的信息通常不是“集中的”。此外,您正在寻找的是程序员的经验(而不是官方文档)。

答案 1 :(得分:0)

仅供参考,还有另外两种确保包括课程的方法。

#1 - 此语法实际上在Flex源代码中使用:

import path.to.FooClass; FooClass; // note double reference

public class References
{
    // No references needed in this class
}

#2 - 使用includes命令行参数

-includes path.to.FooClass

答案 2 :(得分:0)

您可以随时使用帮助中的“反馈”部分提交您的体验。不幸的是,这不像以前在旧帮助文件中每页底部的链接那么明显(这也提供了使用该帮助页面的Web版本打开浏览器窗口的有用功能)。

Adobe表示,它将以前版本的帮助中的评论合并到新版本中,但我自己的观察结果表明,有些情况不会发生。然而,对于那些认为应该集中这类信息的人来说,这个和适当的食谱仍然是最好的途径。

注意模块背后的全部目的是避免多次编译代码,因此导入FooClass的那种打败了目的。你在这个例子中遇到的问题只是你使用Singletons时发生的许多问题之一,而且很遗憾第一个官方框架Cairngorm鼓励他们广泛使用。查看http://misko.hevery.com/2008/08/17/singletons-are-pathological-liars/