从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
是否有意义?
答案 0 :(得分:0)
如果你的应用程序在OnNavigatedFrom之前做了一些后台活动(比如web请求)那么你需要使用UI线程来避免交叉线程异常,否则如果只做导航就不需要UI线程。必要时,绝对不需要创建任务只需Dispatcher即可运行。