Xamarin.Forms Android AOT support



>有谁知道如何在Xamarin.Forms Android项目中使用AOT编译而不是JIT? 我只是对Android应用程序的启动时间不满意,而iOS启动时应该这样做(因为iOS被迫使用AOT(。

另外,我应该在哪个文件中具体启用 XAMLC?现在我在Android项目和iOS项目AssemblyInfo文件中这样做。

谢谢!

Xamarin.Android.csproj文件中的发布配置PropertyGroup中,添加一个设置为 true 的AotAssemblies元素,可以选择添加一个EnableLLVM元素。

注意:由于这将增加APK的大小,我的建议是确保Mono Linker在您的发布配置中处于活动状态("链接所有程序集"是理想的选择,可以在AOT过程发生之前删除尽可能多的未使用的IL,以帮助最小化每个本机共享库的大小(

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
~~~
<AotAssemblies>true</AotAssemblies>
<EnableLLVM>true</EnableLLVM>
~~~
</PropertyGroup>

AotAssemblies – 一个布尔属性,用于确定程序集是否提前编译为本机代码并包含在.apk中。

EnableLLVM – 一个布尔属性,用于确定在提前将程序集编译为本机代码时是否使用 LLVM。

回复:https://learn.microsoft.com/en-us/xamarin/android/deploy-test/building-apps/build-process