6、Windows Phone应用导航与状态管理全解析

Windows Phone应用导航与状态管理全解析

1. 应用导航与页面创建顺序

在应用导航过程中,每个应用都有自己独立的内部页面返回栈,这与平台的应用返回栈是分开的。应用平台会跟踪用户离开多页面应用时所在的页面。当应用被挂起(tombstoned),用户返回应用时,页面需要重新构建,而页面创建的顺序不一定与原始创建顺序相同。

例如,用户在离开应用时处于第二页,返回应用时会回到第二页,这会导致该页面重新创建。若用户随后从第二页返回主页面,主页面也会重新创建。若用户在应用内页面层级中向前导航,然后切换到占用大量内存的其他应用(导致原应用被挂起),再返回原应用时,页面将以相反顺序构建。

为确保导航时状态的一致性,应用不应依赖页面之间的对象生命周期层次关系。所有页面应负责维护自己的私有状态,跨多个页面使用的状态应存储在视图模型(viewmodel)中,且视图模型应始终可被所有页面访问,具有可预测的有限生命周期特性,通常存储在App类中。

2. 导航与状态分类

应用导航(包括应用内和应用间)时,应用状态可分为以下三类:
| 状态类型 | 描述 | 指南 |
| — | — | — |
| 临时页面状态 | 特定于页面的状态,不需要在应用运行之间持久化,如未提交的文本更改值或页面的视觉状态。 | 在 NavigatedFrom 事件中存储在 PhoneApplicationPage.State 属性中,并在 NavigatedTo 事件中检索。 |
| 临时应用状态 | 应用范围内的状态,不需要在应用运行之间持久化,如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值