zoukankan      html  css  js  c++  java
  • WP7(SL)的应用程序周期和墓碑化(TombStoning)

    Wp7中sliverlight模式下的应用程序周期和墓碑化

    WP7的目前,不支持第三方应用程序的后台运行,所以不支持真正多任务程序同时运行,不支持应用程序的后台运行,视觉上看到应用程序后台暂停效果其实是引发了应用程序失效事件Deactivated。然后恢复的时候执行了Reactived事件。

    当一个应用程序正在的执行的时候,如果

    有来电

    用户点击Start菜单

    手机休眠

    等情况下,只要不是用户主动关闭正在运行的应用程序,或者直接Back退出应用程序。这个时候应用程序都会Deactivate。

    如果用户恢复应用程序就会执行Reactive,重新激活应用程序

    这也是墓碑化的概念由来

    Wp中的应用程序周期图片如下;

    从开始菜单启动的应用程序的时候触发Launch事件,用户主动关闭应用程序,或者在程序运行的界面下点击Back会主动的引发Closing事件

    其他情况下应用程序的退出和恢复都会引发Deactivate和Activated事件。

    Deactivate事件其实就是应用程序的真正关闭,已经被杀死了,如果要在第二次Active的时候看到的效果和退出时候的应用程序界面数据一样,必须在Deactivate保存相关的数据,然后Active的时候重新加载,让用户感觉到一模一样的程序,好像没有重新启动一样。

    程序数据保存和加载

    如果在Deactivate和Active直接保存和读取数据可以使用PhoneApplicationService.Current.State这个属性,State保存应用程序的状态值,是一个字典类型的属性,可以存储和读取数据。

    在应用程序真正退出Close的时候,State数据会被清空。

    如果想要真正的永久保存这些数据,那就必须存储数据到独立存储空间IsolateStorage ,

    参考这个文章 http://www.cnblogs.com/zjypp/archive/2012/02/05/2338885.html

     WP中页面周期

    如图示。页面周期主要有一下几个。

    页面的构造函数初始化:

    页面的 OnNavigatedTo。页面是从其他页面导航过来的,在构造函数初始化后,执行这个方法。

    页面的OnNavigatedFrom。如果页面A可以导航到页面B,执行了导航任务后,A页面触发这个事件,有点类似准备关闭本页面的事件

  • 相关阅读:
    网络知识学习系列(一)
    C# 开发系列(三)
    angularJS 系列(三)- 自定义 Service
    添加百度地图,显示定位
    angularJS 系列(二)——理解指令 understanding directives
    angularJS 系列(一)
    hbuilder 手机app开发系列(一)
    vue + 百度地图api
    百度地图api
    canvas的api
  • 原文地址:https://www.cnblogs.com/zjypp/p/2339755.html
Copyright © 2011-2022 走看看