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