【发布时间】:2012-09-07 10:27:50
【问题描述】:
我正在开发一个相对较大的 ExtJS MVC 应用程序,其中包含大约 >40 个控制器、>100 个商店、>100 个模型等等。我没有严格遵循可能的 MVC 方式,所以我实现了一个惰性控制器初始化,它在需要时首先初始化控制器,然后再进行存储。我也没有在任何控制器中注册任何视图,但这仅仅是因为我不需要。
现在表单(在 Ext.window.Window 中打开)大约需要 1-2 秒才能显示出来,而一个相当小的项目中的相同表单会立即弹出。 所以形式(布局)不可能是让我参加这些活动的问题。但我真的不知道最好的方法是什么,或者已经有一个很好的教程如何做到这一点。我想最好对此进行分析,看看整个管道需要多长时间(不仅是 EventPipe 本身)。
事件结构:
大多数事件都是通过负责控制器的control() 注册的。所有其他事件最多注册到{ single: true }。重复使用时,窗口会关闭并重新实例化。
【问题讨论】:
-
顺便说一句,你清理你的控制器正确吗?如果您销毁控制器,则 EventBus 上的侦听器不会被框架清理。抱歉,不是您问题的答案,而是相关的。
-
@mistaecko 感谢您提供的额外信息!这真是太好了!但是目前我不会在控制器初始化后回收它们,所以这应该不起作用。据我对源代码的了解,控制器存储在 ApplicationController 的内部集合中。但我想这不是通过简单的事件调度分析来完成的
-
如果您决定清理控制器,请在此处查看我关于如何销毁控制器的答案:stackoverflow.com/questions/12330846/…
标签: extjs extjs4 profiling extjs4.1 extjs-mvc