是否可以将ACR UserDialogs.Instance.ShowLoading方法作为异步任务运行?我尝试了下面这个,但是加载动画结结巴巴,表明它没有运行异步:
await Task.Run(async () =>
{
UserDialogs.Instance.ShowLoading("doing stuff...");
});
await DoComplexStuff();
UserDialogs.Instance.HideLoading();
最好将ShowLoading方法作为异步任务运行,而不是必须重写DoComplexStuff方法(以及它调用的许多方法)。
答案 0 :(得分:1)
using (UserDialogs.Instance.Loading("doing stuff..."))
{
await DoComplexStuff();
}
// no hide loading needed
也许你的DoComplexStuff
正在UI线程上运行。您可以尝试将其移动到新线程中:
using (UserDialogs.Instance.Loading("doing stuff..."))
{
await Task.Run(DoComplexStuff);
}