在过去三周内,由于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时,它将以不可预测的方式绑定到值。
事情以意想不到的方式表现的其他情况:
所以这是问题(我很抱歉在原帖中省略了这个),是否有任何关于此类行为的合并文档?是否有关于这些问题(网站,论坛,书籍,任何内容)的任何(甚至非Adobe)文档?我知道这些东西绝对容易记录,但有人这样做了吗?
如果没有,我错过了什么吗?还有其他我应该知道的问题吗?
答案 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/。