【WP开发】正确理解页面缓存

注:本文内容面向Runtime App。

在新建项目后,细心观察,你会发现在App类中有以下代码:

// TODO: 将此值更改为适合您的应用程序的缓存大小                rootFrame.CacheSize = 1;

这行代码放在了OnLaunched方法中,CacheSize是Frame类的一个公共属性。

我们知道,Frame类负责完成页面之间的导航,它本身就是一个容器控件。CacheSize属性用于告诉Frame对象,要缓存的页面数量。近日,有人提问说,这个缓存页面数是不是导航记录的数量?

明确地告诉你:非也。

Frame的导航记录在BackStack属性中,这个Cache并不是用来缓存页面的导航记录的,一定要注意啊,不要搞混了。

CacheSize属性是用于设置要保留页面实例的个数。当Frame导航到某个页面时,通常情况下,是要调用页面的构造函数来创建某页的新实例的。即,不论你是向前导航还是向后导航,只要导航到某页,某页都会重新实例化。因此,就可以理解为什么Frame类用于导航的Navigate方法要这样定义了:

public bool Navigate(System.Type sourcePageType)

这与Silverlight中的导航不同,SL中是传递URI的,而这里是传递页面类的Type,就因为得到某个页面类的Type,才会在导航是new一个实例出来。

感觉很抽象吗?没事,示例是无敌学习利器,还犹豫什么,动手。

1、启动VS,新建一个”空白应用程序(Windows Phone)“项目。据说MS会统一所有平台的命名,当然这是需要的,也是盖茨的梦想。不管叫什么,系统还是一样的,只是叫法不同罢了。

2、在App类中,找到OnLaunch方法,把CaheSize改为0。

rootFrame.CacheSize = 0;

3、把项目默认生成的MainPage.xaml删掉,因为它的存在,严重影响示例的演示,为什么? 待会儿再告诉你。
4、向项目中添加三个空白页,这个会了吧? 不会的话,就按Ctrl + Shift + A,试试。

5、三个页面的结构差不多,所以这里我只说第一个页面。XAML代码如下:

详细说明:http://wp.662p.com/thread-8277-1-1.html

时间: 2024-10-10 13:33:48

【WP开发】正确理解页面缓存的相关文章

IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动端IM)的数据流交换方式都是Http短连接+TCP或UDP长连接来实现.Http短连接主要用于从服务器读取各种持久化信息:比如用户信息.聊天历史记录.好友列表等等,长连接则是用于实时的聊天消息或指令的接收和发送. 作为IM系统中不可或缺的技术,Http短连的重要性无可替代,但Http作为传统互联网信

正确理解HTML,XHTML页面的头部doctype定义

摘自http://www.west263.com/info/html/wangyezhizuo/css/20080225/42390.html 当我们制作页面的时候,总会在它的源码头部看到一串声明,比如最常见的 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 如

Nginx反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

Nginx反向代理 负载均衡 页面缓存 URL重写及读写分离

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

缓存一、Asp.net页面缓存

本篇文章是个人对Asp.net缓存的理解,在写文章中过程中参考了以下博文: http://www.cnblogs.com/fish-li/archive/2012/01/11/2320027.html#_labelStart http://www.cnblogs.com/haiyabtx/archive/2012/11/18/2776462.html 相信大家在面试时,经常被问到的问题就是如何提高程序性能?有用过缓存吗?缓存有哪些实现?等等…在数据驱动的Web开发中,经常要重复从数据库中执行查询

iOS开发SDWebImageOptions理解

iOS开发SDWebImageOptions理解 原文 http://www.cnblogs.com/WJJ-Dream/p/5816750.html typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) { SDWebImageRetryFailed = 1 << 0, SDWebImageLowPriority = 1 << 1, SDWebImageCacheMemoryOnly = 1 << 2, SDWebImag

[转载]Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

C#学习(九)之Windows Store App &amp; WP 开发小记(一)

由于课程已经讲述完毕,所以本次学习记录就讨论记录一下我在Windows Store App & WP开发中遇到的一些问题与收获. 一.数据库(Sqlite)的使用 虽然资料很难找,但sqlite在这两个平台的使用还是很简单的. 首先是环境配置阶段: 1.工具->拓展与更新->联机,然后在右上搜索sqlite,之后下载安装下图两个打勾的拓展包,注意要重启VS方才生效. 2.项目->管理NuGet程序包->联机,搜索sqlite,安装下图打勾内容,如果项目多出下图两个文件即安装