gpt4 book ai didi

xamarin - OnAppearing 中的 await 是否意味着我要导航到的屏幕会立即显示?

转载 作者:行者123 更新时间:2023-12-04 11:54:20 28 4
gpt4 key购买 nike

如果我有这个代码:

    protected override async void OnAppearing()
{
base.OnAppearing();
await DoLengthDatabaseTaskAsync(); // takes 30 seconds
}

它是一个异步任务的事实是否意味着屏幕出现很快并且不等待数据库任务完成?
    protected override async void OnAppearing()
{
base.OnAppearing();
await CallAndForgetAboutOutputTaskAsync(); // takes 30 seconds
}

如果我不担心 CallAndForgetAboutOutputTaskAsync() 方法的完成,“调用并忘记”如何。

有没有办法可以在后台运行 CallAndForgetAboutOutputTaskAsync() 以便尽快显示屏幕

最佳答案

是和否。
OnAppearing意味着该页面已出现在屏幕上,并在此之后立即执行。因此,在那里执行某些操作不会减慢任何速度。

但是你应该记住 OnAppearing正在 UI 线程上执行并取决于您 CallAndForgetAboutOutputTaskAsync() 的结构它可能会卡住你的用户界面,但是 Task.Run 的简单魔法解决问题。

编辑:所以它应该是这样的:

Task CallAndForget()
{
return Task.Run(async() => await action());
}

关于xamarin - OnAppearing 中的 await 是否意味着我要导航到的屏幕会立即显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60343514/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com