刚接触Xamarin都会被Xamarin的售价吓一跳,另外就是它生成的APK大小,官方也有相关的说明,这里加上自己的理解同意讲解下:
以下是针对Android平台而言(Xamarin.Android和Xamarin.Forms)、Xamarin Studio(VS也差不多)
1.Xamarin生成的APK是不是比原生的打?
答案是肯定的,Xamarin.Android的运行是依靠.net平台,而不是java虚拟机,apk里面必须将相关的运行库打包进去.
2.怎么获取可发行的apk?
Xamarin的apk分为debug和release之分,有的人在项目的bin/debu/目录下发现生成的apk文件只有1-2M,那时候肯定心理还赞扬了xamarin一番,但那并不是可发行的安装包,前面说过,Xamarin.Android的运行必须依靠.Net运行库,debug下生成的apk是没有带运行库的,所以会非常小,你调试的时候IDE会自动帮你安装一个Mono Runtime的apk,没错,这就是运行库,debug下的apk运行必须依靠这个几十M的大东西才能运行。所以千万不要直接直接将debug下的apk文件拿给别人安装,结果显而易见。
而bin/release/文件夹下才能真正的apk,注意:apk文件生成必须调试或者run as打包后才会有,如果只是build,是不会有的
3.为什么我生成的release 版本的apk文件有20-30M之巨
看下面
4.Xamarin Studio中影响apk大小的因素:
1).Use shared Mono runtime
这个东西的作用下面的解释也是很清楚了,快速部署(Fater delayment during development),如果开发过原生androi