移动开发工具Xamarin.Android更新至6.1

内容分享2周前发布
0 0 0

移动开工具Xamarin.Android更新至6.1,新版本添加了新的Java 调用架构、Build Behavior、原生HttpClientHandler等等。

新增:

  • 新的Java 调用架构
  • 改善的Build Behavior
  • 改善的Java接口版本支持
  • 应用程序子类化
  • 原生HttpClientHandler
  • 改善的LG设备调试支持

新的Java调用架构

新开发的Java调用架构大大提高了Mono到Java桥接模式(Bridge)。它还大大减少了所需的粘合代码数量,允许Mono.Android.dll for API-23的大小比以前的版本缩减了近2 MB。

这个新的体系结构也允许额外的缓存机会,通过只覆盖Xamarin.Android 6.0的37%来加快“base”方法调用,以及加快构造函数的执行时间。

改善的Build Behavior

$(TargetFrameworkVersion) MSBuild性能目前可以检查Application项目和Library项目之间的一致性。如果任何Library项目$(TargetFrameworkVersion)超过Application的价值,将会印出警告,并且所有引用程序集的最大$(TargetFrameworkVersion)和应用程序项目将被用于最终的应用程序。

程序集可以引用缓存在LocalApplicationData文件夹中的外部资源而不是在项目结构中。以前,这种缓存只执行于Xamarin的程序集。而从Xamarin.Android 6.1开始,这种缓存将应用于所有程序集,以减少可能需要被下载的资源数量。

另外添加了一个新SHA hash支持,它允许外部资源文件在被提取之前检查其完整性。Xamarin Nugets/Componets的未来版本将支持这个新特性。

改善Java接口版本支持

Mono.Android.dll组件暴露Java接口是由于它们存在于相应的Android API级别,并且Java 接口在API之间可以改变,例如android.database.Cursor接口。因此,绑定接口是不稳定的。一般这不是一个问题,但如果你有一个类库能够实现这样一个接口列如v2.3的$(TargetFrameworkVersion),当应用程序项目由v6.0的$(TargetFrameworkVersion) 构建时,类库类型不能在以前的版本中被加载。从Xamarin.Android 6.1开始,将检查所有的类以确保他们完全实现Java接口,然后如果他们无法实现,则把丢失的部分生成AbstractMethodError。

应用程序子类化

目前可以从任意的不允许舍弃Application.onCreate的android.app.Application子类继承,如微软Intune MAMApplication类型。

原生HttpClientHandler

Xamarin.Android 6.1引入了一个新的
Xamarin.Android.Net.AndroidClientHandler类型来用于
System.Net.Http.HttpClient:

var client = new HttpClient (
        new Xamarin.Android.Net.AndroidClientHandler );

AndroidClientHandler使用原生java.net.URLConnection类型进行网络访问,而不是Mono的正常网络栈。这允许HttpClient使用任何Android能够处理的网络协议和加密协议,如TLS 1.2。

注意:TLS 1.2支持要求底层的Android设备支持TLS 1.2。

改善的LG设备调试支持

某些LG设备不支持adb shell setprop用于调试。Xamarin.Android 6.1引入了一个新的机制,可允许在这些设备上调试。

错误修复:

  • 应用程序使用捆绑资源的控件无法在Windows / VS进行编译
  • F#保留关键字“end”被生成resource.designer.fs成员
  • 当app_process无法激活时,Gdb.env包含了错误的文件名
  • 不能用LG G4调试
  • Xamarin.Android的调用性能在继承的views上慢4倍
  • IntentFilterAttribute不允许指定多个data属性的等量
  • [Android] obj目录中的资源文件从项目中删除时无法移除
  • Android.Runtime.JavaCollection.CopyTo在Mono.Android.dll中缺乏null检查
  • 其他小修复
PS: 关于移动开发,这些产品你可以关注>>
关于Xamarin+Microsoft的最新资讯,请咨询在线客服>!

本站文章除注明转载外,均为本站原创或翻译

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...