在我的Windows 8应用程序中,我重写了Page的LoadState,将其设置为异步,并使用它来下载和解析任务中的数据。然后我将这些数据绑定到GridView。
虽然我的处理应该是异步运行,但在我对该任务进行处理时会阻止所有ui。
public class Example
{
// ...
protected override async void LoadState( . . . )
{
await Task.Run(() => downloadAndParseData());
// Update the UI with results
}
private async Task downloadAndParseData()
{
// ...
}
// ...
}
有谁知道为什么会这样,我怎么能解决它?
答案 0 :(得分:0)
我使用了SQLite库并没有使用它的异步方法。
因此,所有数据库操作都阻止了ui线程。
我使用SQLite提供的异步方法解决了我的问题