Silverlight体积优化

Silverlight体积优化

Silverlight是运行在客户端的富媒体应用程序,他可以使表现形式更加的丰富多彩,相应的 开发人员需要写大量的XAML、代买添加很多图片以及一些其他的资源文件。这就直接导致了应用程序体积的增大。在所有的文件都要从服务器上下载的情况下, 这是一个极为严重的问题。如果你的应用大于5MB 加载时间过长的话会直接导致访客的流失。

这里将谈论一下如何减少应用程序的体积。

体积优化



移除未使用的程序集
Visual Studio在创建sl应用后默认情况下加了很多的程序集,有些可能是你根本就用不上的。
首 先除了System引用将所有其他的删除掉,然后重新编译应用,将缺失的DLL重新添加回来。有很多的错误可能是由于添加了命名空间的引用,这里有一个简 单的来去掉未使用的命名空间(usings),右键点击一个类名,然后选择Organize usings / Remove unused usings。

File?id=df5kjk97_895fd78hph3_b

重新打包XAP文件“越小越好”
我们知道Silverlight的XAP包实质上就是一个标准的ZIP包,包内有一个AppManifest使得他在Silverlgith运行时中可正确的被解析。但是Visual Studio 2008在做XAP打包时并没有做压缩。
这里我们要做的是Winzip活Winrar将这个XAP解包,然后再做压缩打包,将扩展名改成xap替换原始文件。

File?id=df5kjk97_896cg7h5sg3_b

将素材放在sl应用外部
在之前方式中我们都是针对一个sl应用做的,但是当你在构建模块话的sl应用时,将素材文件放在Silverlight XAP包的外部效果会更好。(或者放在外部ZIP包中再做压缩,让sl应用动态获取。更多请看“Silverlight从Zip包中获取文件未完成
使用程序集缓存
使用程序集缓存的办法很简单只需要在sl的属性页面,将library Caching设置为true即可

File?id=df5kjk97_897d46q3rdh_b
(更多请看“ silverlight自定义程序集缓存未完成

动态加载XAP
在silverlight开发的过程中可以将模块话,分解成多个xap文件,有一个主xap来调用其他的xap做动态的加载.
举一个例子,让我们看看Photoshop这个网站,他是用flex技术完成的。

File?id=df5kjk97_89977pjb8gw_b

我们可以看出他的容器、类库以及样式都是动态的加载进去的。
在silverlight中可以用简单的loadingXAP来完成(具体请查看“动态加载XAP文件”),或者使用第三方的框架来完成,比如“Managed Extensibility Framework”、“Prism”。
这里我使用了Prism框架来开发我的一个项目,可以来看一下效果。

File?id=df5kjk97_900hst7zjcs_b
可以看出各个模块是逐个加载的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-625205/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-625205/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值