iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什麼
目前為止Apple移動裝置預設指令集(2014.8.22)
armv6 裝置: iPhone, iPhone2, iPhone3G, 第一代、第二代 iPod Touch
armv7 裝置: iPhone3GS, iPhone4, iPhone4S
iPad, iPad2, iPad3(The New iPad), iPad mini
iPod Touch 3G, iPod Touch4
armv7s裝置: iPhone5, iPhone5C, iPad4(iPad with Retina Display)
arm64 裝置: iPhone5S, iPad Air, iPad mini2(iPad mini with Retina Display)
現在的問題:
既需要支援32位的指令集比如裝置:
iPhone4, iPhone4S, iPhone5, iPhone5C
也需要支援64位的指令集比如裝置:
iPhone5S, iPhone6, iPhone6p, iPhone6s
蘋果A7處理器支援兩個不同的指令集:32位ARM指令集(armv6|armv7|armv7s)和64位ARM指令集(arm64)。
使用 standard architectures (including 64-bit)(armv7,arm64) 引數,則打的包裡面有32位、64位兩份程式碼,在iPhone5s( iPhone5s的cpu是64位的 )下,會首選執行64位程式碼包, 其餘的iPhone( 其餘iPhone都是32位的,iPhone5c也是32位 ),只能執行32位包,但是包含兩種架構的程式碼包,只有執行在ios6以上的系統上。
而使用 standard architectures (armv7,armv7s) 引數, 則打的包裡只有32位程式碼, iPhone5s的cpu是64位,但是可以相容32位程式碼,即可以執行32位程式碼。但是這會降低iPhone5s的效能。 其餘的iPhone對32位程式碼包更沒問題, 而32位程式碼包,對系統也幾乎也沒什麼限制。
所以總結如下: 要發揮iPhone5s的64位效能,就要包含64位包,那麼系統最低要求為ios6。 如果要相容ios5以及更低的系統,只能打32位的包,系統都能通用,但是會喪失iPhone5s的效能。
當然這樣做會使部分裝置出現效能損失,當然在普通應用中這點體現幾乎感覺不到,至少不會威脅到使用者體檢。
相關文章
- BIOS、UEFI、Boot Loader都是些什麼iOSboot
- linux 中i386 i686....等等是什麼意思Linux
- iOS 為什麼app都是非同步程式設計iOSAPP非同步程式設計
- IT行業中,APaaS、SaaS、BaaS、DaaS都是什麼行業
- C語言中,&和&&都是做什麼的?C語言
- make makefile cmake qmake都是什麼,有什麼區別?
- TDD、BDD、ATDD都是什麼、有什麼區別?(下)
- TDD、BDD、ATDD都是什麼、有什麼區別?(上)
- 為什麼那麼多的遊戲主角都是“啞巴”?遊戲
- JS/TS專案裡的Module都是什麼?JS
- Dockerfile中常用配置項的功能都是什麼?Docker
- Antlr的+ * ?在yacc中都是什麼樣的模式?模式
- BaaS、FaaS、Serverless都是什麼餡兒?Server
- 看什麼程式語言都是天堂
- 關於更新ShareSDK報Undefined symbols for architecture x86_64(或是arm64)UndefinedSymbol
- 同樣都是“遊戲盒子” 為什麼Roblox在iOS平臺不受限制?遊戲iOS
- Java3大框架的學習都是什麼Java框架
- 十二星座的程式設計師都是什麼樣?程式設計師
- 為什麼遊戲裡的閃避都是用“滾”的?遊戲
- iOS冰與火之歌 – Objective-C Pwn and iOS arm64 ROPiOSObject
- UI設計和美工都是做什麼的?兩者有什麼區別?UI
- 你來講講AQS是什麼吧?都是怎麼用的?AQS
- 穀雨資料:北京住別墅的都是什麼人?
- CLR裡的MethodTable,MethodDescChunk,MethodDesc,FixUpPreCode都是什麼意思
- Laravel 分頁後的欄位返回都是什麼意思?Laravel
- 在 X86_64(amd64) 平臺上的docker支援打包跨平臺的映象(如arm64)Docker
- Redis16個資料庫都是什麼?Redis資料庫
- java多執行緒中的死鎖、活鎖、飢餓、無鎖都是什麼鬼?Java執行緒
- 全球排名前十五的程式語言都是什麼車?
- GET和POST有什麼區別?及為什麼網上的多數答案都是錯的。
- rpm的i386、i586和i686版本有什麼不同
- iPhone 8售價為什麼這麼貴?都是三星的錯iPhone
- GET和POST有什麼區別?及為什麼網上多數答案都是錯的
- Go - armv7 交叉編譯Go編譯
- 搞安全開發都是用什麼程式語言?
- 為什麼程式設計師都是夜貓子程式設計師
- 為什麼標準庫的模板變數都是inline的變數inline
- 線上直播原始碼開發的小店核心功能都是什麼?原始碼