为啥我的第二个加载的子应用程序在 FlexEvent.INITIALIZE 之后停止

Posted

技术标签:

【中文标题】为啥我的第二个加载的子应用程序在 FlexEvent.INITIALIZE 之后停止【英文标题】:Why does my second loaded subapp stop after FlexEvent.INITIALIZE为什么我的第二个加载的子应用程序在 FlexEvent.INITIALIZE 之后停止 【发布时间】:2012-12-04 16:09:45 【问题描述】:

我有一个 Flex 4 应用程序,它使用 mx.controls.SWFLoader 组件将 Flex 4 应用程序加载到其中。我多次加载相同的 swf-subapp,因为每个子应用也独立运行,并且子应用的内容由我通过加载器上下文传递给它的 XML 确定。

这一直有效,直到最近,但现在,我第二次加载相同的 swf(使用不同的 xml)时,加载的 swf 在触发 FlexEvent.INITIALIZE 后停止执行任何操作(我在初始化事件中没有做任何事情处理程序)。换句话说,我没有收到 CreationComplete 事件,这是我开始我的代码的地方(更糟糕的是,也没有错误)。

由于我一直在处理我的主应用程序的不同部分,我不太记得是哪个更改使我的项目崩溃了,但我确实记得我更新了我的 Flex SDK 并且我遇到了类似的静默错误与之前的 SDK 升级有关。

在我的主应用程序中,我会在加载新的 swf 之前自己进行清理,所以它不应该是垃圾。

请帮忙!

【问题讨论】:

您最近是否更改了您正在使用的 Flash 播放器的版本? 不。和我开始项目时一样。 能否请您发布一些重现此行为的代码(如果您决定发布示例或将其复制到大型项目中可能会有所帮助,也可以编写它)?你的 sdk 和播放器版本是什么? 【参考方案1】:

解决了。

有一个 enterframe 处理程序将 swf 的第一个实例保存在内存中,以某种方式阻止了下一个实例的加载(尽管我在父容器上使用了 removeAllElements 并希望可以解决问题)。

现在我使用 NativeSignal 并从 onRemove 处理程序 (RobotLegs) 上删除所有侦听器。像魅力一样工作。

【讨论】:

以上是关于为啥我的第二个加载的子应用程序在 FlexEvent.INITIALIZE 之后停止的主要内容,如果未能解决你的问题,请参考以下文章

为啥 jquery 会加载第二个,即使它是在 mvc 捆绑配置文件的第一个位置定义的?

为啥 Xcode 不构建我项目的第二个目标?

为啥我的第二个下拉菜单没有被填充?

为啥我的第二个按钮在使用自动布局约束时表现不同?

为啥我的第二个下拉菜单是复制我的第一个下拉菜单的更改操作

为啥我的第二个音频文件不能使用 currentTime 属性播放?