【问题标题】:WP7 Application LifecycleWP7 应用程序生命周期
【发布时间】:2012-06-21 19:32:44
【问题描述】:

好的,这就是我目前对 Windows Phone 7.1 应用程序生命周期的了解,但我还有几个问题。

应用程序启动 - 在应用程序启动时调用,然后继续初始化 App,然后是 MainPage。

应用程序已停用 - 当应用程序处于休眠状态(正在运行但用户未使用它)时调用。这将调用当前页面的 OnNavigatedFrom 方法,然后再移动到 App 类中的 ApplicationDeactivated 方法。一旦应用程序处于休眠状态,如果操作系统需要更多内存,它可能会变成墓碑。

应用程序已激活 - 当应用程序退出休眠或墓碑状态时调用,您可以调用 IsApplicationInstancePreserved 来确定哪个(true 表示休眠,因此状态被保留)。一旦调用它,它就会移动到 OnNavigatedTo。

申请结束 - 当用户向后浏览第一页并且应用程序退出时调用。 OnNavigatedFrom 方法(在第一页)也会被调用。

所以我的问题主要与调用 ApplicationActivated 方法时正在初始化的内容有关。

-如果应用程序没有被墓碑化,您需要做些什么来初始化应用程序,或者操作系统是否会将所有内容恢复到原来的状态?构造函数是否调用了它正在导航到的页面,或者所有内容都被冻结了?

-如果应用程序被墓碑化了,页面构造函数会被调用吗? (我假设是这样,因为没有保存任何内容)。如果页面构造函数被调用,第一次导航到这个页面和从墓碑状态返回有区别吗?

【问题讨论】:

    标签: windows-phone-7 silverlight-4.0 application-lifecycle tombstone


    【解决方案1】:

    这些都是你可以自己测试的。在应用程序项目的属性下,您可以在离开应用程序时启用逻辑删除。此设置位于“调试”选项卡下。

    【讨论】:

      【解决方案2】:

      如果我错了,请纠正我,但这里是我提出的问题的答案。

      -当应用程序被激活并且它没有被墓碑化时,只有最后一页的 OnNavigatingTo 方法被调用(没有页面构造函数)。我认为在这种情况下您不需要做任何事情,因为应用程序状态已保存。

      -当应用程序被墓碑化时,您需要保存可能需要重新加载的任何页面数据,因为页面上的所有内容都会丢失,并且当它再次被激活时,会在 OnNavigatedTo 方法之前调用页面构造函数。

      希望这对以后有类似问题的人有所帮助....

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多