应用程序生命周期:
运行: 在程序NotRunning状态下点击图标,应用将处于Running状态,这会触发一个Actived事件
挂起: 在程序Running状态下, 点击返回键或win键会触发一个Suspending事件,应用进入Suspended状态
停止: 内存不足,设备关机,用户手动关闭会使应用进入NotRunning状态
所以只能在挂起的时候保存数据
-
在注册了SusupensinManager的应用中
挂起的时候会调用
OnSuspending
、onNavigateFrom
和SaveState
方法 从挂起中继续不调用任何方法 关闭后重启/启动,会调用OnLaunched
、OnNavigateTo
、LoadState
方法 -
在未注册SuspensionManager的应用中
挂起的时候只调用
OnSuspending
方法不会调用onNavigateFrom
方法 从挂起中继续不调用任何方法 关闭后重启/启动,会调用OnLaunched
、OnNavigateTo
、LoadState
方法
保存数据的方法:
-
使用SuspensionManager类和NavigationHelper类:
-
在App.xaml.cs文件的
OnLaunched
方法中创建frame操作下添加//注册SuspensionManager
SuspensionManager.RegisterFrame(rootFrame, "appFrame"); -
在
OnSuspending
方法下添加:await SuspensionManager.SaveAsync();
-
在
OnLaunched
方法下添加:// TODO: 从之前挂起的应用程序加载状态
await SuspensionManager.RestoreAsync(); - 在
SaveState
方法下添加保存数据的操作
-
-
使用数据存储:
-
在需要保存数据的位置添加:
ApplicationData.Current.LocalSettings.Values[key]=value;
- 在
OnNavigatedTo
方法下添加调用储存在本地的值
-