【问题标题】:Windows 10 mobile UWP - slow back buttonWindows 10 移动版 UWP - 慢退按钮
【发布时间】:2016-08-17 11:45:11
【问题描述】:

我只是用 c# 编写的应用程序,带有 sqlite 数据库。我意识到它在我的手机上运行不快。我很确定这个问题与按下的内置后退按钮的功能有关。当我重复这个过程几次时:

打开新页面 -> 通过返回按钮返回上一页,应用程序启动速度变慢。

当我添加自己的后退按钮仅用于测试时,一切正常。

我主要基于这篇文章: http://www.wintellect.com/devcenter/jprosise/handling-the-back-button-in-windows-10-uwp-apps

【问题讨论】:

    标签: c# sqlite windows-phone win-universal-app


    【解决方案1】:

    打开新页面 -> 通过返回按钮返回上一页,应用程序启动速度变慢。

    查看您的项目后,我发现了问题:您在每个页面上都注册了SystemNavigationManager.GetForCurrentView().BackRequested +=OnBackRequestedSystemNavigationManager.GetForCurrentView().BackRequested 是应用程序范围的事件。当您在页面之间导航时,它不会释放事件处理程序。您只需在整个应用程序中注册一次。

    因此,要解决此问题,您可以注释掉页面代码隐藏的所有 BackRequested 事件注册,并仅保留 App.xaml.cs 中的一个。

    例如:在ProductsPage.xaml.cs 中注释掉或删除以下行:

    //SystemNavigationManager.GetForCurrentView().BackRequested += (s, e) =>
    //{
    //    // TODO: Go back to the previous page
    //    Frame.Navigate(typeof(main1));
    //};
    

    【讨论】:

      【解决方案2】:

      如果您的背部是电话硬键,您可以处理该事件。

      链接是说电脑并添加后退按钮,你应该

      SystemNavigationManager.GetForCurrentView().BackRequested +=OnBackRequested;
      
          private void OnBackRequested(object sender, BackRequestedEventArgs e)
          {
              Frame rootFrame = Window.Current.Content as Frame;
      
      
              if (rootFrame?.CanGoBack==true)
              {
                  e.Handled = true;
                  rootFrame.GoBack();
              }
              else
              {
                  Application.Current.Exit();
              }
          }
      }
      

      http://edi.wang/post/2016/2/1/windows-10-uwp-back-button-tricks http://blog.csdn.net/lindexi_gd/article/details/50618029

      【讨论】:

      • 所以我做了,我的文章也是这样。我用数据库发送我的整个项目(与 2015 相比)。 drive.google.com/file/d/0B5ZmP3NVyVJkQnBPRDBHSmdtUFU/… P.S 请不要吓到我的代码质量:)
      • 我可以通过电子邮件发送给您吗?
      • [邮件](mailto:lindexi_gd@163.com)
      • 你可以if (rootFrame?.CanGoBack==true)
      猜你喜欢
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 2017-01-23
      • 1970-01-01
      • 2015-12-13
      • 2016-05-06
      • 1970-01-01
      • 2016-06-09
      相关资源
      最近更新 更多