博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈ListBox在Windows Phone 7 中的使用(2)
阅读量:6423 次
发布时间:2019-06-23

本文共 1020 字,大约阅读时间需要 3 分钟。

 在前篇 中大致介绍了ListBox在Windows Phone 7的用法,今天将继续深究ListBox。主题是ListBox的性能问题。

我相信,如果大家将自己的Windows Phone 部署到phone 7真机或多或少会遇到性能上的问题,当然这也是模拟器和真实设备区别之一,而这些问题很大程度上是ListBox的渲染以及从web上下载图片造成的。这里有一篇微软WP7团队提供的关于的文章,还是值得大家一看的,里面是微软WP7团队对如何优化windows phone 程序给出的建议。下图是Colin Eberhardt对NoDo做的性能测试,可以发现,ItemsControl可以在更短的时间内提供类似ListBox的功能。

 

 

我们在真实机上测试的时候,可能会遇到的一个问题就是当我从一个页面跳到另一个页面,而在这个页面中有有一个比较复杂的UI(比如说ListBox中有100条数据,而且ListBox应用的模板相对复杂)。这时候我们的程序感觉像死掉了,界面一动不动。小七很无辜的说道,我还没死,我只是在加载数据和渲染界面,等我弄好了我就活过来了,请耐心等我1分钟。用户能够等1分钟么? 这会给用户带来很不好的体验。国外有研究说(Panorama控件)加载会消耗大约1.6秒!

当应用程序启动的时候,有启动画面会告知用户程序正在启动,而我们在切换页面的时候,也可以加上类似的效果,告诉用户,请稍等,我正在加载。国外大牛Colin Eberhardt 就提供了一种不错的想法,叫延长加载(DeferredLoadContentControl),以下是两种加载的用户比对图

 

 

具体的代码可以参考  

如果你的ListBox中的项目比较复杂,建议使用LazyListBox,一种在滑动时使用简单模板,在停止滑动时再换为正常(即复杂UI)的模板,具体的可以参考  

在mango中,windows phone team已经对ListBox做了优化,如果你的ListBox中有图片,它会启用后台线程去处理,如果你已经升到Mango,那么你可以看看ListBox有什么改变,或者你也可以再将LazyListBox替换为ListBox.....

PS:这篇文章在草稿箱存了一月有余,今天抽了点时间整理发布... 

    本文转自xshf12345 51CTO博客,原文链接:http://blog.51cto.com/alexis/586479,如需转载请自行联系原作者

你可能感兴趣的文章
CSP -- 运营商内容劫持(广告)的终结者
查看>>
DIV+CSS命名规范有助于SEO
查看>>
web项目buildPath与lib的区别
查看>>
我的友情链接
查看>>
ifconfig:command not found的解决方法
查看>>
计算机是怎么存储数字的
查看>>
Codeforces Round #369 (Div. 2) A. Bus to Udayland 水题
查看>>
adb上使用cp/mv命令的替代方法(failed on '***' - Cross-device link解决方法)
查看>>
C++标准库简介、与STL的关系。
查看>>
Spring Boot 3 Hibernate
查看>>
查询EBS请求日志的位置和名称
查看>>
大型机、小型机、x86服务器的区别
查看>>
J2EE十三个规范小结
查看>>
算法(第四版)C#题解——2.1
查看>>
网关支付、银联代扣通道、快捷支付、银行卡支付分别是怎么样进行支付的?...
查看>>
大数据开发实战:Stream SQL实时开发一
查看>>
C++返回引用的函数例程
查看>>
dll 问题 (转)
查看>>
REST API用得也痛苦
查看>>
test for windows live writer plugins
查看>>