Windows phone 7 WP7应用程序生命周期

Windows phone 7 WP7应用程序生命周期,windows-phone-7,silverlight-4.0,application-lifecycle,tombstone,Windows Phone 7,Silverlight 4.0,Application Lifecycle,Tombstone,好的,这是我到目前为止对WindowsPhone7.1应用程序生命周期的了解,但我还有几个问题 应用程序启动 -在应用程序启动时调用,然后继续初始化应用程序,然后初始化主页 应用程序已停用 -当应用程序处于休眠状态(正在运行但用户未使用)时调用。这将在移动到App类中的ApplicationActivated方法之前调用当前页面的OnNavigatedFrom方法。一旦应用程序处于休眠状态,如果操作系统需要更多内存,它可能会被删除 应用程序已激活 -当应用程序脱离休眠或逻辑删除状态时调用,您可以

好的,这是我到目前为止对WindowsPhone7.1应用程序生命周期的了解,但我还有几个问题

应用程序启动 -在应用程序启动时调用,然后继续初始化应用程序,然后初始化主页

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

应用程序已激活 -当应用程序脱离休眠或逻辑删除状态时调用,您可以调用IsApplicationInstancePreserved以确定哪个状态(true表示休眠,因此状态被保留)。一旦调用,它将移动到OnNavigatedTo

应用程序关闭 -当用户向后导航超过第一页且应用程序退出时调用。OnNavigatedFrom方法(在第一页)也将被调用

因此,我的问题主要与调用ApplicationActivated方法时初始化的内容有关

-如果应用程序没有被删除,您需要做什么来初始化应用程序,或者操作系统是否将一切恢复到原来的状态?构造器是为它导航到的页面调用的还是所有内容都冻结了


-如果应用程序被删除,页面构造函数会被调用吗?(我想是的,因为什么都没救出来)。如果调用了页面构造函数,第一次导航到此页面和从坟墓状态返回之间是否有区别?

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

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

如果我错了,请纠正我,但以下是我提出的问题的答案

-当应用程序被激活并且没有被删除时,只有最后一个页面的onNavigationTo方法被调用(没有页面构造函数)。我不相信在这种情况下您需要做什么,因为应用程序状态已保存

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


希望这能帮助将来有类似问题的人……

如果我错了,请纠正我,但以下是我提出的问题的答案

-当应用程序被激活并且没有被删除时,只有最后一个页面的onNavigationTo方法被调用(没有页面构造函数)。我不相信在这种情况下您需要做什么,因为应用程序状态已保存

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

希望这能帮助将来有类似问题的人