0
在我的Windows 8app中,我重寫Page的LoadState將其設置爲異步,並使用它來下載和解析我等待的任務中的數據。之後我將這些數據綁定到一個GridView。LoadState中的異步調用阻塞UI線程
雖然我的處理應該是異步運行,但是在處理該任務期間,所有用戶界面都會被阻止。
public class Example
{
// ...
protected override async void LoadState(. . .)
{
await Task.Run(() => downloadAndParseData());
// Update the UI with results
}
private async Task downloadAndParseData()
{
// ...
}
// ...
}
有沒有人有一個想法,爲什麼這是我怎麼能解決它?
爲什麼你使用SQLite的提供異步方法'Task.Run()''如果已經downloadAndParseData'返回一個任務是什麼? – 2013-02-15 13:08:49
您可以編輯您的問題以包含簡短但完整的問題示例? ''downloadAndParseData()'可能會導致阻塞。另外,你確定問題出在這個代碼中,而不是其他地方? – svick 2013-02-15 13:48:25
如果你的downloadAndParseData方法做了很多的UI更新,這可能會讓你的用戶界面顯示「被阻止」... – 2013-02-15 15:38:51