SL5 + Prism 4.1动态XAP下载需要太多时间才能加载

时间:2012-11-05 04:50:53

标签: silverlight prism mef

我正在使用SL5,Telerik SL5 DLL,Prism4.1& MEF用于我的应用程序,我已将主应用程序拆分为更小的模块。此外,我已启用“通过启用应用程序库缓存来减少XAP大小”,将主xap文件的大小从1.5 MB减少到700 KB(另外,module1.xap& module2.xap文件大小减少到91 KB & 145 KB)。

问题:当我尝试通过互联网浏览我的应用程序时,我的主要xap文件立即被下载(它显示100%在5-10秒内加载)但问题是,它需要花费更多时间(有时候,从main.xap加载花费的时间比从module1.xap加载和显示第一个屏幕需要更多的时间。我无法找出问题的根本原因。有人可以协助我解决这个问题吗?

仅供参考,请参阅下面的我的客户内容:

enter image description here

Main.xap文件内容:

enter image description here

Module1.xap文件内容:

enter image description here

Module2.xzp文件内容:

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试使用您最喜欢的浏览器的Fiddler或开发人员工具来查看应用程序加载模块和外部部件的内容和时间。

当您导航到模块1的第一个屏幕时,我认为您得到了延迟,因为Telerik拉链(外部部件)已加载。

为了减少加载时间,您可以使用更好的压缩工具重新压缩所有.zip文件。我使用7zip进行Ultra压缩以减小zip文件的大小。

答案 1 :(得分:0)

如果要按顺序加载模块,则应将模块彼此依赖。 您可以在modulecatalog.xaml中执行此操作

<Modularity:ModuleInfo Ref="Main.xap" ModuleName="Main" ModuleType="Project.Main, Module, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" >
        <Modularity:ModuleInfo.DependsOn>
            <sys:String>Module1</sys:String>
        </Modularity:ModuleInfo.DependsOn>