gpt4 book ai didi

android - Xamarin.Mobile:标记为过时的基于任务的 API

转载 作者:太空狗 更新时间:2023-10-29 12:45:06 24 4
gpt4 key购买 nike

最新发布Xamarin.Mobile组件为 Android 废弃了一些基于任务的 API。发行说明对此进行了简要评论:

Given the fragility of the Task<> based API on Android due to Activity lifecycle realities, the async API is now marked [Obsolete] specifically for Android.

谁能解释一下这里的脆弱性是什么意思?

最佳答案

本质上,使用 Task跨越应用程序生命周期边界是自找麻烦。当相机Activity在 Android 上启动,您实际上是在启动一个全新的应用程序。您的应用程序不再在前台运行,因此 Android 完全有权终止您的应用程序并在相机返回时重新启动它。如果发生这种情况,您的 Task实例已被销毁,因此任何 await s 或 ContinueWith s 你永远不会执行。这不是 Task/Android 问题,这只是 Xamarin.Mobile 中的一个设计缺陷。

因此,魔术 API 被弃用,取而代之的是利用 OnActivityResult 的 API。 ,因为这是正确处理这种情况的唯一方法。如果您注意到,新的 API GetMediaFileExtraAsync仍然返回 Task<MediaFile> .

(来源:我写了 Xamarin.Mobile)。

关于android - Xamarin.Mobile:标记为过时的基于任务的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19295368/

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