欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > 内容正文

Windows phone UI虚拟化和数据虚拟化(一)

来源: 开发者 投稿于  被查看 32111 次 评论:16

Windows phone UI虚拟化和数据虚拟化(一)


今天和大家分享一些关于windows phone ui虚拟化和数据虚拟化的一些知识。

也顺便回答我上一篇【LongListSelector 控件 在 wp7 和wp8中的不同之处】里,留下的那个问题,微软为什么推荐使用longlistselector.

如果不是新人,那么对于"虚拟化"这个词应该不陌生。

"虚拟化"简单来说,就是在数据量很大的时候,我们只加载与可视区域(如手机屏幕)相应的少量数据。

我们先来看一下UI虚拟化。

一:Windows phone UI虚拟化

对于wp的ui虚拟化,其实我们并不需要花太多心思,因为系统自带且用的最多的listbox 和longlistselector。

已经是帮我们实现了虚拟化。我们只需要

 

 

我们看到我们绑定的数据源有1000条数据,页面加载后item只渲染了21个。看似是有这样一个规律的

随着我们滑动列表,Item也在不断被渲染。

嗯哪,这就是所谓的UI虚拟化了。

 

很多时候,我们在编辑模板的时候,会破坏掉虚拟化。看下面

 

当我们编辑ListBox的ItemsPanel的时候,工具帮我们自动生成了下面的代码。

WoW ! 这次页面一加载,ListBox就在不停地渲染Item.直至全部!

为什么会产生这种情况?

因为实现listbox的关键是默认的容器

妈妈再也不用担心我们不小心破坏虚拟化了!

下面我们来看一下LonglistSelector

还是上面的例子。我们把

 

还是虚拟化,只不过默认生成的item数不一样了。

我们继续滑动。

看输出!

什么!!!还是31,没反应?!!!

打完,收功!

东西有点多,分两篇吧,下一篇是对性能提升更有用处的数据虚拟化。

附件Demo

相关频道:

用户评论