ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Silverlight体积优化

Silverlight体积优化

原创 Linux操作系统 作者:iDotNetSpace 时间:2010-01-15 11:21:27 0 删除 编辑

Silverlight体积优化

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

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

体积优化



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

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

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


(更多请看“silverlight自定义程序集缓存”未完成)

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

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

可以看出各个模块是逐个加载的。

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

请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5765962