繁体   English   中英

单击 UWP 中的汉堡菜单项时如何提高应用程序性能?

[英]How to improve app performance when clicking hamburger menu items in UWP?

我在我的 UWP 应用程序中为 MVVM 和汉堡菜单使用模板 10。 通常从一页到另一页导航需要 2 到 3 秒。 App在后台超过5小时,然后回到前台,页面导航需要8秒。 如何减少页面到页面导航的延迟?

菜单项的 XAML 代码:

```<Controls:HamburgerButtonInfo ClearHistory="True" x:Name="manifest" Selected="manifest_Selected" Unselected="manifest_Unselected" PageType="views:Manifest">
                <StackPanel Orientation="Horizontal">
                    <BitmapIcon Width="30" Height="30" x:Name="manifesticon" Margin="10,20,0,0" UriSource="ms-appx:///Assets/ic_menu_manifest.png"/>
                    <TextBlock Margin="16,20,0,0" x:Name="manifesttext"
                           VerticalAlignment="Center"
                           Text="Manifest" />
                </StackPanel>
   </Controls:HamburgerButtonInfo>```

CS代码:

public void manifest_Selected(object sender, RoutedEventArgs e)
    {
        reportElement = new HamburgerButtonInfo();
        manifesticon.Foreground = (Brush)Application.Current.Resources["HeaderBackground"];
        manifesttext.Foreground = (Brush)Application.Current.Resources["HeaderBackground"];
        reportElement = manifest;
        if (report.IsEnabled)
        {
            report_Unselected(sender, e);
        }
    }

    public void manifest_Unselected(object sender, RoutedEventArgs e)
    {
        manifesticon.Foreground = new SolidColorBrush(Color.FromArgb(255, 229, 229, 229));
        manifesttext.Foreground = new SolidColorBrush(Color.FromArgb(255, 229, 229, 229));
    }

通常从一页到另一页导航需要 2 到 3 秒。

您不应该在页面的构造函数中处理同步调用,它会阻塞 ui 线程,使导航消耗更多时间。

目前,UWP 包含用于管理导航的原生NavigationView ,更多信息请参考

您还可以使用模板工作室制作模板应用程序,这样可以节省更多时间来配置应用程序的基础架构。 更多细节请参考这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM