-2
void BtnPage_Clicked(object sender, EventArgs e)
{
Task.Run(async() =>
{
var file = await Plugin.FilePicker.CrossFilePicker.Current.PickFile();
var documentPath = await BaseProvider.CacheDocumentAsync(file.FileName, file.DataArray);
await documentController.NewDocumentAsync(documentPath);
var page1 = documentController.Pages[0];
var environment = new Library.Environment();
environment.SetVisibleWidth((int)skCanvas.Canvas.Width);
environment.SetVisibleHeight((int)skCanvas.Canvas.Height);
environment.SetActualWidth((int)page1.ActualWidth);
environment.SetActualHeight((int)page1.ActualHeight);
skCanvas.Environment = environment;
ShowPage(page1);
});
}
上述代码运行时不会减慢UI。如果我删除Task.Run并将无效BtnPage_Clicked旁边的异步,用户界面变得缓慢。异步 - 等待运行单独的线程?
在文档中是正确的:“异步执行的工作”https://msdn.microsoft.com/en-us/library/hh195051(v=vs.110).aspx – Alexander