刚才做Win8 Metro app时突然想到前段时间一直很纠结的程序生命周期问题,不知在哪边实现墓碑机制。想到现在在RP版本可能会有改进,经过一番测试,
结论如下:RP版本自动实现了墓碑机制,在关闭程序(窗口拉下或ALT+F4)后10~15秒左右,会执行OnSuspend事件。
测试程序如下:
page1中通过点击按钮跳转到Page2:
Window.Current.Content =
new
TomestonPage();
Window.Current.Activate();
Page2中显示默认的TextBlock,点击按钮修改TextBlock值
<Button Content=
"
Button
"
HorizontalAlignment=
"
Left
"
Margin=
"
465,109,0,0
"
VerticalAlignment=
"
Top
"
Click=
"
Button_Click_1
"
/>
<TextBlock HorizontalAlignment="Left" Height="59" Margin="207,109,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="178" x:Name="tbContent"/>
private void Button_Click_1(object sender, RoutedEventArgs e)
{
tbContent.Text = "1234324";
}
一切执行完毕,开启另一个Metro程序,这时前一个APP应是处于挂起状态,程序一直没有进入OnSuspend事件,且过段时间再次进行前一程序,页面还是保持原状。
经过以上次,我方才得到以上结论,不知结论是否正确,如果是这样,我们就省事儿多啦~~