[英]Windows 10 Phone rotate screen / screen orientation
旋转设备屏幕时是否调用任何方法? 是否像Android中一样删除和还原数据?
旋转屏幕时,Android应用程序将被破坏并重新启动。 要在轮换期间保持其状态,您需要致电:
onSaveInstanceState()
onRestoreInstanceState()
Windows 10 Universal App在设备旋转期间是否具有存储会话状态?
我知道这很旧,您可能已经搬到其他地方了。 对于遇到此问题的其他任何人(像我一样),答案是:是的,有一种方法。 是的, 看起来数据已存储和检索,系统会为您处理“捆绑”。
在您的App.xaml.cs文件中,有一种方法:
/// <summary>
/// Invoked when application execution is being suspended. Application state is saved
/// without knowing whether the application will be terminated or resumed with the contents
/// of memory still intact.
/// </summary>
/// <param name="sender">The source of the suspend request.</param>
/// <param name="e">Details about the suspend request.</param>
private void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
//TODO: Save application state and stop any background activity
deferral.Complete();
}
这样可以为您保存状态。 这是有道理的,我的Windows手机会将后退按钮恢复到我最后一次点击主屏幕时的时间。 如果我从一个应用程序转到另一个应用程序,则后退按钮会在每个应用程序中返回,从而保留我离开的地方。
当我在窗口上放置TextBlock并使用按钮更改文本时,旋转后文本仍保持更改。 实际上,在我退出应用程序后,“后退按钮”或“主页”仍然保持更改。 保持状态似乎不是问题,丢失状态可能是一个问题。 (我会记得从现在开始放一个“重置”按钮或方法!)
OnSuspending()
在sealed partial class App : Application
定义,密封意味着您无法扩展它,因此也不能覆盖OnSuspending()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.