原創|產品更新|編輯:黃竹雯|2016-02-25 16:58:17.000|閱讀 260 次
概述:移動開發工具Xamarin.Android更新至6.1,新版本添加了新的Java 調用架構、Build Behavior、原生HttpClientHandler等等。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
移動開工具Xamarin.Android更新至6.1,新版本添加了新的Java 調用架構、Build Behavior、原生HttpClientHandler等等。
新開發的Java調用架構大大提高了Mono到Java橋接模式(Bridge)。它還大大減少了所需的粘合代碼數量,允許Mono.Android.dll for API-23的大小比以前的版本縮減了近2 MB。
這個新的體系結構也允許額外的緩存機會,通過只覆蓋Xamarin.Android 6.0的37%來加快“base”方法調用,以及加快構造函數的執行時間。
$(TargetFrameworkVersion) MSBuild性能現在可以檢查Application項目和Library項目之間的一致性。如果任何Library項目$(TargetFrameworkVersion)超過Application的價值,將會印出警告,并且所有引用程序集的最大$(TargetFrameworkVersion)和應用程序項目將被用于最終的應用程序。
程序集可以引用緩存在LocalApplicationData文件夾中的外部資源而不是在項目結構中。以前,這種緩存只執行于Xamarin的程序集。而從Xamarin.Android 6.1開始,這種緩存將應用于所有程序集,以減少可能需要被下載的資源數量。
另外添加了一個新SHA hash支持,它允許外部資源文件在被提取之前檢查其完整性。Xamarin Nugets/Componets的未來版本將支持這個新特性。
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類型。
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設備不支持adb shell setprop用于調試。Xamarin.Android 6.1引入了一個新的機制,可允許在這些設備上調試。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網