为什么Unity5打的空包有17mb?

        今天在论坛上看到有人提到Unity5的诸多“罪状”,其中一条就是打出来的空包竟然有17mb,而之前的版本是9mb。我很好奇,难道是IL2Cpp搞的鬼?

        因为好奇,我特意准备了Android环境(之前的环境太老了,不得不重新弄),打了一个空包试验了下。其实原因很简单,因为考虑到兼容性Unity5默认情况下同时打了armv7a和x86的动态库。于是空包的大小就增加了几乎一倍。

为什么Unity5打的空包有17mb?_第1张图片

如截图所示,在PlayerSetting中把Device Filter中的FAT修改为ARMv7就可以了。

        一般情况下android平台不需要编译x86的版本,因为设备太少了,需要考虑对应平台的时候可以单独打一个x86版本的包。除非不考虑apk的包大小的时候,才会选择FAT兼顾兼容性。

       最后额外牢骚一下,不用心的程序员只会看到xxx不行,有xxx问题(水平差的根本连问题都看不出来),而稍微用一点心就可以“知其然而又知其所以然”。这个其实一点技术含量都没有,打个空包看看哪里比较大,很容易知道问题所在,用心而已。

你可能感兴趣的:(为什么Unity5打的空包有17mb?)