我有一个Flash项目,它有许多源文件。我有一个叫Jenine的类,最近(可能有点冷酷无情地)将它从一个命名空间移动到另一个命名空间。我认为我们已经准备好了 - 我认为是时候了。新的Jenine在各方面都更好 - 她失去了一些代码冗余,她与一些残留的类关系脱钩了,她终于回到了她一直心照不宣地知道是属于她的命名空间。她在同类中了。
不幸的是,Flash对此毫不在乎。也许它已经形成了依恋。也许它不希望Jenine被解耦。无论如何,它在记忆中坚持着旧的、完美的Jenine版本。它拒绝前进。它忽略了她的(函数)调用。它试图忘记她的新的公共接口。相反,每次它构建的Jenine实例都是旧版本的副本,甚至包括她的类路径:
var jenineInstance:Jenine = new Jenine();
trace( getQualifiedClassName(jenineInstance));
// 应该打印:com.newnamespace.subspace::Jenine
// 打印:com.oldnamespace.subspace::Jenine
// 啊,年轻的爱情!
我们斗争过。我不为我说或做的事情感到自豪。最后,在一阵愤怒的狂怒中,我完全删除了对Jenine的所有引用。她彻底从系统中消失了。我的光标落在了“清空垃圾箱”菜单选项上,就像棺材的冷盖一样。
我认为Flash再也没有恢复过来。直到今天,它还保持着对Jenine的记忆。她的旧的、不完美的定义仍然在我的项目中漂浮着,就像一个被遗弃的幽灵一样。每当我强制Flash编译时,它仍然像爱抚一样将她插入我的影片中,将她的定义嵌套在其他活着的类中间,就像一个小神社。我想知道它们能否看到她。
Flash和我不再真正交流了。我写我的代码,它就编译它。镇上有一个新女孩叫Summer,看起来几乎和Jenine一模一样,好像有人刚刚将她的源代码完整地复制到了一个新的类中,但Flash对此没有表现出任何兴趣。大多数时候,当它认为我不在看的时候,它会在我注释中胡言乱语写出坏的诗歌。
我希望没有人有过类似的经历,这只是恐怖的黑湖中的单个痛苦涟漪,这个黑湖就是Flash代码库。谁知道如何清除编译器正在使用的任何缓存?
Flash仍然拥有ASO文件,这是你类编译后的字节码。在Windows上,你可以在这里看到ASO文件:
C:Documents and Settings\usernameLocal Settings\Application Data\AdobeFlash CS4\en\ConfigurationClasses\aso
在Mac上,目录结构类似于/Users/username/Library/Application Support/
你可以手动删除这些文件,或者在Flash中选择“Control->Delete ASO files”来删除它们。
标签:拒绝,Flash,编译,Jenine,CS4,放弃,ASO From: https://www.cnblogs.com/xiaomandujia/p/17810028.html