当前位置: 首页 > news >正文

网站建设与管理用什么软件商城网站 备案

网站建设与管理用什么软件,商城网站 备案,黄骅市15天天气预报,桂林市内旅游必去景点Windows Phone性能优化建议 原文:Windows Phone性能优化建议使用background thread解码图片在Windows Phone中支持的图片格式有jpg和png#xff0c;微软建议使用png格式的图片#xff0c;因为png格式的图片在解码速度上要比jpg快。那么我们怎么来控制用后台线程来解码图片呢微软建议使用png格式的图片因为png格式的图片在解码速度上要比jpg快。那么我们怎么来控制用后台线程来解码图片呢看下面的代码。 Image Height100 Width100 Margin12,0,9,0Image.SourceBitmapImage UriSource{Binding ImgURL} CreateOptionsBackgroundCreation//Image.Source /Image var bi new BitmapImage(); bi.CreateOptions BitmapCreateOptions.BackgroundCreation;      这两段代码都设置了BitmapImage的CreateOptions属性这样做避免了在UI线程来对图片解码在使用过程中BackgroundCreation确实有效地提高了页面的响应效率尤其是在图片密集型的页面。需要注意的是图片位置可能出现短暂的空白不过这段时间我们可以通过一个图片占位符的方法来处理。CreateOptions属性包括有四种 None                          不对CreateOptions做任何设置。DelayCreation             是BitmapImage的默认属性在必要时创建图片。IgnoreImageCache      图片将不启用缓存适合于频繁需要更新的图片。BackgroundCreation    图片的解码在后台线程完成。减少不必要的PropertyChanged事件的触发     在MVVM模式的开发中通过设置INotifyPropertyChanged接口使View作为一个观察者可以使我们方便的通过DataBinding更新UI内容这里我们要说的其实PropertyChanged事件是一个冗长的方法。如果你使用的是VS2012或更高的版本使用工具栏的Code Map按钮可以看到系统监听的add_PropertyChanged事件而且它在UI线程上执行。为了减少不必要的PropertyChanged事件的触发我们可以采用下面这种方法来对value的值提前做出判断。 public string Text {get { return _text;}set{if( _text value) return;_text value;RaisePropertyChanged(Text);} } 减少Databinding中Converter的使用     在Databinding中我们可以创建一个继承自IValueConverter的类实现Convert方法来对绑定的值做进一步处理这个处理会直接影响到绑定的速度而且这个转换是在UI线程执行的如果我们把一个很重的方法放在了这个Converter里那绑定的速度就可想而知了。总之对后台数据的处理还是在后台线程中准备好之后在通知UI更新尽量避免因为Converter造成的UI阻塞。 开启集合控件的虚拟化     在之前的一篇博客中我们介绍了在Windows Phone中集合控件的使用。VirtualizingStackPanel是一个重要的概念在ListBox中默认的Itmes的容器就是VirtualizingStackPanel这个容器是虚拟化的不同于StackPanel。它只创建了大约屏幕可见的数量而非将ListBox中的Items一次全部创建随着上下滚动再次创建剩下为显示在屏幕上的内容。这样就大大节省了页面首次渲染的时间。      VirtualizingStackPanel还有一个比较重要的属性就是VirtualizationMode。这个属性有两个值。 Standard 每次都会为容器的Item创建新的VirtualizingStackPanel并回收之前创建的容器。Recycling 重用之前创建的VirtualizingStackPanel。     显然我们开启VirtualizingStackPanel的Recycling模式来重用容器避免新的容器的创建。下面是一个ListBox的示例代码。 ListBox ItemsSource{StaticResource data} VirtualizingStackPanel.IsVirtualizingTrueVirtualizingStackPanel.VirtualizationModeRecycling / 动态加载PivotItem     在Windows Phone开发中轴心控件Pivot绝对是一个布局很好的选择。但是如果我们的页面的PivotItem比较多会直接影响到我们页面的渲染时间尤其是在首页的时候等待的时间可能会更加长。这时候我们可以考虑动态的加载PivotItem的方法来减轻首次加载页面的时间我们只需要在页面定义空的PivotItem再在OnLoadingPivotItem的事件中动态的创建UserControl并加入到相应的PivotItem的Content中即可。 controls:Pivot x:Namepivot OnLoadingPivotItemOnLoadingcontrols:PivotItem x:NamefirstItem/ /controls:Pivot public void OnLoading(PivotItem item) {if(item.Content null){var userControl new CustemControl();item.Content userControl;} } 为ObservableCollection添加AddRange方法     ObservableCollection绝对是数据绑定过程中重要的集合使用这个集合可以通过Add方法方便的更新集合。但当数据量大的情况下我们是否可以考虑自定义一个AddRange方法来替换掉每次Add的时候触发的NotifyCollectionChangedAction.Add类型的事件。而改用NotifyCollectionChangedAction.Reset使整个页面只刷新一次。那么就来看看这个扩展类的写法。 public class ObservableCollectionExT : ObservableCollectionT {public void AddRange(IEnumerableT list){foreach (T item in list){Items.Add(item);}OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));OnPropertyChanged(“Count”);} } 使用Async、await、TaskTResult异步编程    posted on 2014-04-10 13:01 NET未来之路 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/lonelyxmas/p/3656247.html
http://www.yutouwan.com/news/302052/

相关文章:

  • 企业网站货物查询怎么做seo网络推广哪家专业
  • 东莞网站设计效果电商模板哪个网站好
  • 天津网站营销网站推广目标关键词怎么选
  • 南京城乡建设局网站织梦与wordpress
  • 苏州网站制作开发公司开发公司管理软件
  • 南通网络公司网站江西锦宇建设集团有限公司网站
  • 网站开发(定制)合同 模板dedecms的网站放在哪个文件夹里
  • 佛山外贸网站建设咨询wordpress 免插件七牛
  • 金融行业做网站需要什么做个app平台需要多少钱
  • 怎么在网上做彩票网站做红酒闪购的网站有哪些
  • 网站建设与规划心得总结居然之家装修公司怎么样
  • 百度网站提交收录做瓜子进出口用哪些网站
  • 电子毕业设计代做网站免费隐私网站推广app
  • 网站导航栏目设计内容依据wordpress转换中文
  • 拓和科技有限公司网站郑州做网站企业汉狮
  • 泰安58seo 网站优化
  • 手表网站模板如何优化一个网站
  • 南平市建设局网站商品展示类网站源码
  • 网站建设天津佛山制作网站企业
  • 手机网站制作公司 广州上海远东建筑设计院
  • 网站建设参考wordpress如何设置会员中心
  • 济南网站seo 优帮云如何做 试题类 网站
  • 网站建设制作软件我的电脑做网站服务器
  • cms建站程序如何能进腾讯做游戏视频网站
  • asp网站开发培训网站开发时间进度表模板下载
  • 做设计的有什么网站室内设计网站 知乎
  • 免费的企业网页制作网站王也图片
  • 汕尾建设局安检站网站做网站找哪里
  • 新开传奇网站发布网制作流程图软件
  • 网站开发人员晋升体系黄页网站大全