【IOS】IOS瘦身之a(chǎn)rmv7 armv7s arm64選用

之前每個(gè)版本的ipa包打出來都才20M出頭,后來不知道從哪個(gè)版本起打的包每次都將近40M,但是工程中也沒有明顯的增加很大第三方類或者圖片、靜態(tài)文件。于是就開始了各種瘦身計(jì)劃:壓縮圖片,刪除不必要靜態(tài)庫。做了一番改動(dòng)后發(fā)現(xiàn)包只比原來小了1M多,收效甚微。后來經(jīng)過查閱資料才知道armv6 armv7 armv7s arm64引起編譯包翻倍增大的問題,于是就試了一下,果然ipa包又回到了以前的大小。這個(gè)指令集
xcode創(chuàng)建工程默認(rèn)支持的指令集有下列三種

>armv7
  iPhone4
  iPhone4S
>armv7s
  iPhone5
  iPhone5C
>arm64
  iPhone5S(以上)

機(jī)器對(duì)指令集的支持是向下兼容的,因此armv7的指令集是可以運(yùn)行在iphone5S以上的,只是效率沒那么高而已~

但是由于蘋果要求必須支持arm64,因此這個(gè)架構(gòu)是必須存在的.
在xcodeTARGETS里邊Architectures:

tup.png

Architecture : 指你想支持的指令集。

Valid architectures : 指即將編譯的指令集。

Build Active Architecture Only : 只是否只編譯當(dāng)前適用的指令集。

================================================

如果全部支持切不在乎包大小的話,Architecture的值選擇:armv7 armv7s arm64

如果支持5以上切包不要求則選用 armv7s ,arm64

如果支持全機(jī)型,有不想ipa包太多就選擇 armv7 , arm64

如果最小ipa的話,切拋棄5s以下,可以采用只用arm64

PS:選arm64時(shí)需要最低支持5.1.1:

1,如果想自己的app在各個(gè)機(jī)器都能夠最高效率的運(yùn)行,則需要將Build Active Architecture Only改為NO,Valid architectures選擇對(duì)應(yīng)的指令集:armv7 armv7s arm64。這個(gè)會(huì)為各個(gè)指令集編譯對(duì)應(yīng)的代碼,因此最后的 ipa體積基本翻了3倍,Release版本必須NO。

2,如果想讓app體積保持最小,則現(xiàn)階段應(yīng)該選擇Valid architectures為armv64,這樣Build Active Architecture Only選YES或NO就無所謂了

至于如何選擇,就看我們產(chǎn)品的要求了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容