其他分享
首页 > 其他分享> > android-Xamarin.Mobile:标记为过时的基于任务的API

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

作者:互联网

最新版本的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会带来麻烦.当摄像头活动在Android上启动时,实际上是在启动一个全新的应用程序.您的应用不再在前台运行,因此Android完全有权终止您的应用,并在相机返回时重新启动它.如果发生这种情况,则您的Task实例已被破坏,因此您将无法执行的任何等待或ContinueWiths.这不是Task / Android问题,而仅仅是Xamarin.Mobile中的设计缺陷.

结果,不赞成使用魔术API,而推荐使用OnActivityResult的API,因为这是正确处理这种情况的唯一方法.如果您注意到,新的API GetMediaFileExtraAsync仍会返回Task< MediaFile>.

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

标签:xamarin,xamarin-android,xamarin-mobile,android
来源: https://codeday.me/bug/20191122/2061453.html