使用OnNavigatedFrom()方法中的任务(在视图中)

本文关键字:视图 任务 方法 OnNavigatedFrom 使用 | 更新日期: 2023-09-27 18:03:19

在Windows Phone 8应用程序中从页面导航时调用以下方法。第二种选择是否会使用户体验受益?

选项1

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
     //work with UI
     Image.Source = null;
     //....
}

选项2

protected override async void OnNavigatedFrom(NavigationEventArgs e)
{
    await Task.Run(() =>
    {
        Dispatcher.BeginInvoke(() =>
        {
           //work with UI
           Image.Source = null;
           //....
        });
    });
}

创建所有工作在UI线程上做的Task有意义吗?

使用OnNavigatedFrom()方法中的任务(在视图中)

如果你的应用程序在OnNavigatedFrom之前做一些后台活动(如web请求),那么你需要使用UI线程来避免交叉线程异常,否则如果只做导航,那么不需要UI线程。在任何必要的地方,绝对不需要创建任务,只要Dispatcher工作。