Windows Phone 7 学习 - (3) :Windows Phone 应用程序的生命周期

  Windows Phone 手机应用程序的启动,到该应用程序的终止,这个过程就是应用程序的生命周期。

  下面是一幅应用程序运行周期的草图,ExecutionModel(执行模型)在应用程序运行的过程中,一直在做维护这个应用程序的事情,Windows Phone 在特定时间内,只允许一个应用程序运行在前台,目前7.0是如此,但是之后的版本将允许多任务运行,不过其实目前,我们也不能说不算多任务,毕竟在后台,我们还是可以同时执行多个任务,比如你在看网页的时候还可以同时听音乐的,如果手机设备的内存达到一个饱和值的时候,这个时候,会将使用最少的应用程序休眠化,以达到提升手机程序性能的目的,执行模型还提供了一种导航机制,当你从一个应用程序跳转到另外一个应用程序时,当你触摸了手机的返回键,是可以从一个程序返回到上一个程序继续执行的,这就是执行模型另外一个显著的特点。

  

  上方是一个应用程序运行的过程草图,那么我在这里将对他们做一个讲解,程序的行为其实主要是分为五种,启动,运行,关闭,禁止,激活,那么程序启动后,最开始走的是Application Launching event事件,在这里程序可以说,就开始成为一个正式的实例了,那么我们在这个事件中,可以去访问手机的隔离存储空间,预加载一些应用程序的数据吗,然后我们通过Page Navigated To Method将应用程序走到Running这一步,程序就正式启动完成了,在这里可以有两个分支,一个是去执行应用程序的关闭 Closing,一个是去执行应用程序的Deactived,当我们执行了Deactived这个禁止或者说是假死事件后,程序就会被休眠化(Dormant),休眠化的过程就是进入一个Tombstoned(墓碑机制)的状态,暂时让程序睡一会儿吧,休眠化也不意味着程序真正的死亡,而是暂时类似冬眠的那种感觉,或者说我们是把程序给活埋了,但是当我们想用的时候,嘿嘿,把它挖出来吧,像僵尸哦,这种做法的好处就是可以最大化的节省存储资源等等,当然我们在假死的这种状态可以被重新激活,激活后又继续走到运行期了,这就是应用程序的一个运行期。

  Windows Phone 应用程序的开发与以往的模式有许多不同之处,首先在开发中,不支持原生代码(Native code)作为开发语言,支持的是托管代码(Managed code),开发过程中,主要分为两种,一种是基于Silverlight框架的应用程序开发,一种是基于XNA框架的游戏程序开发,两者的区别在于,XNA开发是一种基本循环模式(Loop-based),而Silverlight开发则是事件驱动机制(Event-Driven)的并且使用XAML语言的应用程序。

posted @ 2011-06-05 22:49  鑫想事成  阅读(1220)  评论(0)    收藏  举报