Android 中arm64-v8a、armeabi-v7a、armeabi、x86個人理解

Android 中arm64-v8a、armeabi-v7a、armeabi、x86主要用來存放.so庫,主要針對不同的設備兼容,也可以說是專門針對不同android手機下CPU架構的兼容。
下面就來扯一下安卓cpu
Android 設備的CPU類型(通常稱爲”ABIs”)
早期的Android系統幾乎只支持ARMv5的CPU架構,你知道現在它支持多少種嗎?7種!
Android系統目前支持以下七種不同的CPU架構:ARMv5,ARMv7 (從2010年起),x86 (從2011年起),MIPS (從2012年起),ARMv8,MIPS64和x86_64 (從2014年起),每一種都關聯着一個相應的ABI。
應用程序二進制接口(Application Binary Interface)定義了二進制文件(尤其是.so文件)如何運行在相應的系統平臺上,從使用的指令集,內存對齊到可用的系統函數庫。在Android 系統上,每一個CPU架構對應一個ABI:armeabi,armeabi-v7a,x86,mips,arm64- v8a,mips64,x86_64。

各版本分析如下:
• mips / mips64: 極少用於手機可以忽略
• x86 / x86_64: x86 架構的手機都會包含由 Intel 提供的稱爲 Houdini 的指令集動態轉碼工具,實現 對 arm .so 的兼容,再考慮 x86 1% 以下的市場佔有率,x86 相關的兩個 .so 也是可以忽略的
• armeabi: ARM v5 這是相當老舊的一個版本,缺少對浮點數計算的硬件支持,在需要大量計算時有性能瓶頸
• armeabi-v7a: ARM v7 目前主流版本
• arm64-v8a: 64位支持

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章