我需要设置一个相当大的应用程序,其中包含超过 20 个主视图和表单。一个主视图至少包含一个网格,但最多可以包含十个网格。还有一些包含门户面板的主视图。
现在它需要相当长的时间才能打开一个主视图,这不会发生,因为我只用一个而不是 > 20 对其进行了测试。应用程序放置在具有适合布局的视口中,该视口包含具有边框布局的容器。Mainview 总是在中心呈现,而其他区域用于导航。
我的第一种方法 是在标签面板中缓存东西
我的第一种方法是使用带有隐藏选项卡的选项卡面板。与此并行的是,MixedCollection
如果视图已被插入到选项卡面板中或必须创建,我将在其中进行查找。如果它已经被插入,我从 MixedCollection 中获取位置并运行setActiveTab()
. 但这似乎毫无价值,因为插入新主视图或使用 setActiveTab() 激活现有主视图需要所有时间。
那么我做错了什么,我怎样才能让它变得更好?
编辑
问题似乎来自渲染时间,并且每次使用 setActiveTab() 时组件似乎都会重新渲染。将视图渲染到中心面板最多需要 2-3 秒。因此,我认为我可以通过缓存已经创建的视图来加速它,这样就不需要进行渲染和调整大小。我想我应该提一下,在北部地区,每次也会呈现一个菜单,这不会受到影响,但这不重要,不是吗?
如何切换视图
我有一个额外的控制器来管理菜单视图和主视图更改。为此,从容器中删除菜单并添加新菜单,对于主视图,如果已创建视图,则在上述混合集合中进行查找,如果已创建,则接收选项卡索引和选项卡活性。如果不是,则将视图添加为新选项卡,然后将其标识和索引添加到混合集合中。