gpt4 book ai didi

c# - UWP - 如果在异步/等待运行时离开页面会发生什么?

转载 作者:太空狗 更新时间:2023-10-30 00:38:13 26 4
gpt4 key购买 nike

在 UWP 应用程序(或任何带有 UI 的 C# 应用程序)中,当异步方法尚未完成但用户导航离开页面时会发生什么?我更具体的担心是,当 await 完成时,async 方法将继续并修改某些 UI 元素,但用户已经离开页面。

|用户进入页面
|点击按钮
|进入异步方法
| Hits await(返回处理事件)
|用户离开页面
|等待的方法完成
| ?

此时,async方法是否继续?如果它继续,并尝试修改 UI 元素,应用程序是否会因为页面不再存在而崩溃?

最佳答案

是的。异步方法将继续,您的页面将存在于内存中。您的方法可以进行修改,但显然它们是不必要的更改。你的应用程序不应该崩溃,除非你试图访问不再存在的元素。例如 Panel.Children[2].Opacity = 0 其中 Panel 在从屏幕上卸载后现在是空的。 (只是一个例子)

如果您的方法运行了很长时间,您应该使用 CancellationToken 或某种标志取消操作,以允许您“提前退出”例程。

关于c# - UWP - 如果在异步/等待运行时离开页面会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43565216/

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