今天在論壇上看到有人提到Unity5的諸多“罪狀”,其中一條就是打出來的空包竟然有17mb,而之前的版本是9mb。我很好奇,難道是IL2Cpp搞的鬼?
因爲好奇,我特意準備了Android環境(之前的環境太老了,不得不重新弄),打了一個空包試驗了下。其實原因很簡單,因爲考慮到兼容性Unity5默認情況下同時打了armv7a和x86的動態庫。於是空包的大小就增加了幾乎一倍。
如截圖所示,在PlayerSetting中把Device Filter中的FAT修改爲ARMv7就可以了。
一般情況下android平臺不需要編譯x86的版本,因爲設備太少了,需要考慮對應平臺的時候可以單獨打一個x86版本的包。除非不考慮apk的包大小的時候,纔會選擇FAT兼顧兼容性。
最後額外牢騷一下,不用心的程序員只會看到xxx不行,有xxx問題(水平差的根本連問題都看不出來),而稍微用一點心就可以“知其然而又知其所以然”。這個其實一點技術含量都沒有,打個空包看看哪裏比較大,很容易知道問題所在,用心而已。