0

私のWindows8appでは、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()
        {
            // ...
        }
        // ...
    }

誰かがそれがなぜであり、どのように私がそれを修正することができるかもしれないかについての考えを持っていますか?

4

1 に答える 1

0

私はSQLiteライブラリを使用し、その非同期メソッドを使用しませんでした。

したがって、すべてのdb操作がUIスレッドをブロックすることになりました。

提供されているSQLiteの非同期メソッドを使用して問題を解決しました

于 2013-02-18T10:48:15.330 に答える