在进行WP开发之前,与其它开发技术一样,我们需要简单了解一个WP应用序的生命周期,我们不一定要深入了解,但至少要知道在应用程序生命周期内的每一阶段,我们应当做什么,不推荐哪些操作等,这也是为了让我们开发出更高性能,更优秀的应用程序打下坚实的基础。
下图是官方给出的WP应用程序执行模型图。
在上图中,我们要注意以下四个事件:
1、Launching 事件。
说白了,就是应用程序刚启动时触发的事件,由于这个事件的一点特殊性,尽量不要在该事件处理程序中做大量的操作,比如比较耗时间的作业,为什么呢?你想想,如果你的某个操作需要消耗大量时间的话,那么,你肯定会发现,程序启动的速度很慢,这样一来,用户会很不爽,用户体验就大打折扣。
2、Activated事件。
应用程序被激活时触发,例如,我的程序上面有一个按钮,用户点击后打开发短信的“窗口”,当用户发送完短信后,发短信的页面就关闭,这时候,我们的应用程序又从后台程序变为前台程序了,Activated事件将触发,注意的是,第一次启动程序时是不触发该事件的。
3、Deactivated事件。
与Activated事件相对,比如上面举的例子,当我在程序上点击按钮时,发送短信的页面将启动,这时候,当前应用程序就被前面的发短信的页面挡住了,也就是说,当前程序被发送到后台,这个时刻就触发了Deactivated事件。不过,如果应用程序将关闭,该事件不触发。
4、Closing事件。
从字面意思就猜到该事件在啥时候发生了。对,当应用程序关闭时发生,但在应用程在导航中被发送到后台时不发生,比如刚才说的打开发短信的页面后,虽然程序被发送到后台了,但由于它仍在运行,没有退出,所以这个时候不触发。但如果我从“开始”或桌面磁砖中启动程序后,然后再通过“返回”键回到桌面,这个时候因为程序会退出,所以该事件触发。
为了验证这些事件是如何发生的,我们在app.xaml.cs文件中,分别为这几个事件写下调试输出代码。
然后,我们运行程序,当主页面出现后,点击模拟器上的“返回”键把程序关闭。
这时候,我们再去看一下“输出”窗口。
通过这个实验,我们发现Activated事件和Deactivated事件未被触发,为什么?自己思考吧。
下面,我们在页面中放一个按钮,点击按钮后,打开发送短信的页面。
编写单击事件代码。
按F5运行,再点击按钮,打开发短信页面。
看看“输出”窗口,这时候,就看到Deactivated事件发生了,因为程序还没有退出,只是被放到后台。
接着,点击模拟器的“返回”,退回到我们的程序。再看看输出窗口。
这个时候,Activated事件就发生了。
OK,今天的牛皮就吹到这里吧。
分享到:
相关推荐
- **第1章:Windows Phone 7应用开发简介** - 介绍Windows Phone 7的硬件特性及软件开发工具。 - 创建简单的应用程序并部署它们。 - 应用程序通过Windows Phone Marketplace进行分发。 - 包括了硬件检查、开发...
3. **Silverlight**:Windows Phone 7时代的开发主要基于Silverlight,它是一种用于创建富媒体和交互式用户体验的技术,类似Adobe Flash,但专为Windows Phone设计。 4. **XAML**:XAML是用于定义用户界面的标记...
- **平台背景**:Windows Phone是由微软公司推出的智能手机操作系统,旨在为用户提供一个高效、流畅且与众不同的移动体验。 - **发展历程**:从最初的Windows Phone 7到后来的Windows Phone 8,以及最后的Windows 10...
《Windows Phone程序开发高级设计 第3版》是针对Windows Phone平台深入探讨应用程序开发的专业书籍,主要面向有经验的开发者,旨在提升他们在Windows Phone应用开发领域的技能。本版本为英文版,适合那些希望拓宽...
2. **导航服务**:Windows Phone的导航服务允许在各个页面间跳转,源码可能展示了如何使用Frame导航和如何传递参数。 3. **本地存储**:了解如何利用IsolatedStorage进行数据持久化,存储用户设置或应用数据。 4. ...
Windows Phone 7(WP7)是由微软公司推出的智能手机操作系统,它是对旧有的Windows Mobile平台的一次重大革新。这款操作系统在2010年首次亮相,旨在与Apple的iOS和Google的Android系统竞争,提供一个独特且用户友好...
- **用户界面**:Windows Phone 7 引入了动态磁贴(Live Tiles)的概念,这些磁贴可以显示实时更新的信息,如未读邮件数量、天气变化等。 - **硬件要求**:为了确保用户体验的一致性和流畅性,Windows Phone 7 对...
2. **界面元素编程**:Windows Phone应用中的界面元素包括但不限于按钮、滑块、文本框等。这些元素需要编程实现其功能,例如响应用户的触摸事件、显示动态数据等。通过学习这部分内容,你可以了解如何在代码后面编写...
在Windows Phone平台上,开发应用程序通常涉及使用Microsoft的Silverlight技术和XAML(Extensible Application Markup Language)来构建用户界面。这个“windows phone开发源代码18-24”的压缩包很可能是包含了一...
3. **Windows Phone API**: 了解如何利用API访问设备的功能,如摄像头、GPS、联系人、日历等,是开发本地化应用的关键。 4. **数据存储和同步**: 学习如何使用isolated storage存储应用数据,以及如何与云服务如One...
《Windows Phone开发手册》是针对微软移动平台开发者的重要参考资料,尤其对那些想要深入理解并实践Windows Phone应用开发的程序员来说,这份资料具有很高的价值。Windows Phone操作系统,作为微软在移动领域的尝试...
随着你逐步深入Windows Phone 7的开发,你将了解到Silverlight for Windows Phone与桌面版Silverlight 3/4之间的差异。例如,Windows Phone版本可能不包含某些桌面版的控件或特性,而移动设备上的优化和限制也会影响...
本书《Essential Windows Phone 7.5: Application Development with Silverlight》是微软.NET开发系列中的一本优秀著作,旨在为专业开发者提供全面且实用的Windows Phone 7.5应用开发指南。书中深入浅出地介绍了如何...
- **概述**:Windows Phone 是微软推出的一款智能手机操作系统,它整合了微软旗下的 Xbox Live 游戏、Zune 音乐等功能,提供了独特的用户体验。自 2010 年发布以来,Windows Phone 的目标市场主要是针对 Android 和 ...
2. 图片缓存策略:Windows Phone提供了缓存机制,但默认情况下可能会消耗大量内存。为避免内存泄漏,可以使用`BitmapImage.CreateOptions`设置缓存策略,如`DecodePixelWidth`或`DecodePixelHeight`来限制图片的大小...
3. **Visual Studio Integration**: Windows Phone 7开发紧密集成于Visual Studio,提供了强大的调试工具、模拟器和生命周期管理功能,帮助开发者轻松构建、测试和发布应用。 4. **Marketplace**: 微软的Windows ...
Windows Phone(简称:WP)是微软发布的一款手机操作系统,它将微软旗下的Xbox Live游戏、Xbox Music...2014年3月微软取消印度两家厂商Windows Phone授权费用。 2014年4月Build2014开发者大会发布Windows Phone8.1。
Windows Phone开发是一个专门针对微软移动操作系统的应用程序创建过程。在这一领域,开发者经常需要利用各种类库和案例来提升应用的功能和用户体验。本文将深入探讨Windows Phone开发中的关键知识点,包括类库的使用...