Windows Phone 7学习笔记应用程序生命周期.pdf

Windows Phone 7学习笔记应用程序生命周期.pdf

ID:57731636

大小:67.25 KB

页数:1页

时间:2020-03-25

Windows Phone 7学习笔记应用程序生命周期.pdf_第1页
资源描述:

《Windows Phone 7学习笔记应用程序生命周期.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、WindowsPhone7学习笔记(4):应用程序生命周期WP7应用程序的生命周期指的是一个应用程序在启动、关闭、墓碑化、休眠(7.1更新)或运行中的各种状态和他们之间的关系。在WP7.0时代是不支持多任务的,只有墓碑化处理----由开发者保存应用程序当前需要保存的部分状态,在回退的时候对所保存的这些状态进行恢复,这样来达到使用户感觉不到程序被关闭的体验。其实在墓碑化的过程中,应用程序已经被杀死,只由开发者保存了部分状态在隔离存储空间或内存中(回退栈信息)。到了WP7.1时,加入了;另外一个概念:休眠,也就有了现在的伪多任务。休眠状态是当我们在程序中点击Win键进入到主界面,或者

2、是在程序中使用了启动器和选择器启动了另一个程序时会发生。休眠状态时,程序停止运行(和墓碑相同),但程序还是存在于内存中(和墓碑不同)。当恢复这个程序时,就不需要创建一个新的实例(墓碑需要创建新实例)。这样就加快了程序恢复和切换的速度。而且从休眠状态恢复时我们不需要去恢复数据。在WP7.1中,我们可以长按Back按钮,出现程序列表,然后选择要前台执行的程序。休眠状态程序存在于内存中会占用部分资源,当前台程序运行时内存不够或程序不能流畅运行时,系统会自动将部分休眠状态程序转化为墓碑状态。在内存足够并且前台程序能够流畅运行时对休眠状态程序的个数也是有限制的,最多只能同时存在5个休眠程序

3、,超过5个会自动将前面的程序转化为墓碑状态。WP7中只有BACK一种方法可以退出程序,微软没有提供在程序中EXIT的代码(只有NavigationService.GoBack())。我们的程序在恢复时可能是从休眠或者墓碑两种状态中的一种来恢复,当从休眠状态恢复时,我们不需要恢复保存的数据,从墓碑状态恢复时,需要恢复保存的数据。WP7.1为我们提供了IsApplicationInstancePreserved参数来判断程序是从休眠状态还是墓碑状态恢复的(后面我们会通过代码来描述),有了这个参数我们就可以判断什么时候恢复数据,什么时候不需要恢复数据。那么我们通过代码怎么来实现数据的保

4、存和恢复,什么时候来保存和回复呢?我们主要用到了下面6个函数:App.xaml.cs:Application_LaunchingApp.xaml.cs:Application_ClosingApp.xaml.cs:Application_DeactivatedApp.xaml.cs:Application_ActivatedPage.cs:OnNavigationFromPage.cs:OnNavigationToApplication_Launching方法在程序启动时调用,在程序从休眠或墓碑状态恢复时不调用,我们可以用这个函数来加载一些耗时时间极短的信息(比如一些永久的配置信

5、息)以免造成用户体验差privatevoidApplication_Launching(objectsender,LaunchingEventArgse){using(IsolatedStorageFileIso=IsolatedStorageFile.GetUserStoreForApplication()){if(IsolatedStorageSettings.ApplicationSettings.Contains(IsoSetting1)){IsoContext=IsolatedStorageSettings.ApplicationSettings[IsoSetting1

6、]asstring;}}}Application_Closing方法在程序关闭时调用,在程序从休眠或墓碑状态恢复时不调用,我们可以用这个函数来保存一些信息privatevoidApplication_Closing(objectsender,ClosingEventArgse){using(IsolatedStorageFileIso=IsolatedStorageFile.GetUserStoreForApplication()){IsolatedStorageSettings.ApplicationSettings[IsoSetting1]=IsoContext;}}Appl

7、ication_Deactivated方法在程序失去激活时调用,在程序关闭时不调用,我们可以使用这个方法来保存当程序进入墓碑化时需要保存的一些程序级信息,通过Application的state来保存privatevoidApplication_Deactivated(objectsender,DeactivatedEventArgse){PhoneApplicationService.Current.State[IsoSetting1]=IsoContext;}Applicati

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。