0

在我的 Windows 8 应用程序中,我正在覆盖 Page´s LoadState 将其设置为异步并使用它来下载和解析我等待的任务中的数据。之后我将这些数据绑定到 GridView。

尽管我的处理应该异步运行,但在我处理该任务期间所有 ui 都被阻止。

public class Example
    {
        // ...
        protected override async void LoadState( . . . )
        {
            await Task.Run(() => downloadAndParseData());
            // Update the UI with results
        }

        private async Task downloadAndParseData()
        {
            // ...
        }
        // ...
    }

有谁知道为什么会这样以及我如何能够解决它?

4

1 回答 1

0

我使用了 SQLite 库并且没有使用它的异步方法。

因此,所有 db 操作最终都阻塞了 ui 线程。

我通过使用 SQLite 提供的异步方法解决了我的问题

于 2013-02-18T10:48:15.330 回答