Silverlight开发廋身攻略(一)

  相信大家在用Silverlight做应用开发时,随着项目的进展系统功能越来越多,肯定为Xap包越来越大而烦恼,Xap包的大小直接影响应用程序的加载速度,给用户造成不良的用户体验。我也曾为这个问题头痛过,经过在网上查阅资料和项目实践发现可通过以下三种方式给Silverlight应用程廋身。

  1、定期检查系统项目模块的引用集,移除多余的引用库

  2、图片资源文件,如果不是必须放在资源中的,可以采用按需加载

  3、将系统划分成多个Silverlight项目,然后根据需要进行Xap加载

  下面我将结合实例来对三种方法进行说明:

  一、定期检查,移除多余引用库

  在我们实际项目开发中,我们有时因技术的需要会引用一些第三方控件、.NET FrameWork框架下的动态库,但后来发现不需要这么做只是在界面上或代码中移除控件,没有对程序集引库进行检查移除,从而导致在Xap包中打入了一些无用动态库,造成资源浪费,Xap包体积增大。这种方法简单,只要在项目日常管理中注意就能解决。

  二、图片资源按需加载

  图片资源在应用系统中占有相当大的比重,如我们的界面上的背景、按钮图标等等。它们都被编译到项目dll文件中,然后打包到Xap中。为了减小Xap包的大小,我们可以把图片资源和Xap包分开存放,当系统需要进行下载。

  操作实例:

  1、用Vs2010添加名称为LoadImage的SL Application项目

  2、在SL Application项目中添加images文件夹,然后在文件夹中添加两张图片1.png、2.jpg,将两张图片的Build Action属性由原来默认"Resource"改成"DesignData",这么做的好处是图片在设计期可用,便于界面设计,程序编译时图片不在Xap包中。如下图所示:   

  3、在LoadImage.Web项目中的ClientBin目录下也添加images目录,并且添加图片1.png、2.jpg。如下图所示:   

    4、在LoadImage项目的MainPage.xaml文件中添加如下代码:

<Grid x:Name="LayoutRoot">
<Grid.Background>
<ImageBrush ImageSource="/images/1.png" />
</Grid.Background>
<Image Grid.Column="1" Source="/images/2.jpg" Height="300" Width="400"></Image>
</Grid>

NET技术Silverlight开发廋身攻略(一),转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。