1

我在 extjs 上有一个在窗口中打开的大表单,出于速度原因,我将其缓存在隐藏面板中。一次只能有一个窗口,所以缓存的表格也是单一的。在显示事件中,我将表单添加到窗口,没有渲染并且表单的suspendLayout 选项。在关闭事件中,我使用面板添加方法将表单移动到隐藏面板。我不使用删除方法而不是窗口而不是面板。所以,几次都完美,但在打开 3-5 个窗口后窗体失去了所有事件:按钮、组合框、触发器和其他控件没有响应。问题出在哪里?谢谢你。

4

1 回答 1

0

很难确定,但我的理论是,您的听众设置的可观察对象是在某个不确定的不活动时间段内收集的垃圾。

我已经看到这种情况发生在表示从父窗口观看的 iframe 主体的对象上。正文中的单击事件将工作一段时间,然后所有事件将停止。

测试该理论的一种方法是将对象引用存储在全局变量中 - 这不是您想要在任何应用程序中执行的操作,但值得一试以进行测试。全局变量永远不会被垃圾收集。

于 2012-12-20T18:28:03.410 回答