首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin.Mobile:标记为过时的基于任务的API

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

Stack Overflow用户
提问于 2013-10-10 12:09:02
回答 1查看 830关注 0票数 3

最新发布的Xamarin.Mobile组件淘汰了一些基于任务的安卓API。发布说明对此作了简要评论:

考虑到由于活动生命周期的现实,基于Task<>的API的脆弱性,异步API现在被标记为是过时的,专门用于Android。

有人能解释一下这里的脆弱意味着什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-22 16:25:46

本质上,跨越应用程序生命周期边界使用Task是自找麻烦。当摄像头Activity在安卓系统上启动时,你实际上是在启动一个全新的应用程序。你的应用程序不再在前台运行,所以Android完全有权利关掉你的应用程序,当相机回来的时候重新启动它。如果发生这种情况,您的Task实例已经被销毁,因此您所拥有的任何awaitContinueWith都将永远不会执行。这不是Task/Android问题,它只是Xamarin.Mobile中的一个设计缺陷。

因此,不再推荐使用OnActivityResult的神奇API,因为它是正确处理这种情况的唯一方法。如果您注意到,新的API GetMediaFileExtraAsync仍然返回一个Task<MediaFile>

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19295368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档