Windows Phone7生命周期与永久数据和临时数据的保存
一般生命周期
然而任何使用应用程都可以能发生中断, 用户的操作 ,外部的事件 ,所以下面的场景也是很常见的:
从图上可以看到,有这么几个事件是非常重要的:
app.xaml.cs:application_launching
app.xaml.cs:application_closing
app.xaml.cs:application_deactivated
app.xaml.cs:application_activated
这几个事件都是定义在app.xmal.cs文件里:
在这些事件里面 我们可以选择性的保存程序的数据,除了这四个意外还有另外两个页面级别的事件:
protected override void onnavigatedfrom(system.windows.navigation.navigationeventargs e)
{
base.onnavigatedfrom(e);
app.persistdata = textbox1.text;
app.tempdata = textbox2.text;
state["页面数据"] = textbox3.text;
}
protected override void onnavigatedto(system.windows.navigation.navigationeventargs e)
{
base.onnavigatedto(e);
if (app.persistdata != null)
{
textbox1.text = app.persistdata;
}
if (app.tempdata != null)
{
textbox2.text = app.tempdata;
}
if (state.containskey("页面数据"))
{
textbox3.text = state["页面数据"] as string ;
}
}
总结:
• 对于永久性的数据,我们使用isolatedstoragesettings.applicationsettings来保存
• 对于临时数据我们可以保存在 phoneapplicationservice.current.state或者phoneapplicationpage的属性state里