小樱 发表于 2020/1/28 02:56

Android 安卓手机app中arm64-v8a(aarch64)、armeabi-v7a的apk文件都是什么意思,CPU指令集

Android 安卓手机app中arm64-v8a(aarch64)、armeabi-v7a的apk文件都是什么意思,CPU指令集



Android系统目前支持以下七种不同的CPU架构:ARMv5 (已废弃),ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起)(已废弃),ARMv8,MIPS64 (已废弃)和x86_64 (从2014年起),每一种都关联着一个相应的ABI。

armeabi: ARM v5 (已废弃)这是相当非常古老的一个版本,缺少CPU指令集支持,在需要大量计算时有性能瓶颈
armeabi-v7a: ARM v7 算目前主流版本,使用32位CPU指令集技术,市面上所有手机都支持运行
arm64-v8a: 对比a7a增加64位支持,仅支持2014年后的处理器,例如高通808以上,系统版本需求Android 5.0以上

最简单的检测办法,打开 /proc/cpuinfo 文件查看即可,可能需要root

参考资料:https://developer.android.com/ndk/guides/abis

两则区别就是v8a的性能更好,64位运行速度快,也不容易出现因为内存过大导致app闪退
之所以要用64位,最大的原因就是要占用大内存来优化性能,32位不支持1G以上大内存,超过则停止响应发生闪退。
手机默认优先运行最高的v8a版本,如果不存在则降级为v7a运行,另外包括系统厂商,可以云控配置文件,在启动app的时候指定某个版本来运行。

不可名 发表于 2020/1/28 23:30

标记
页: [1]
查看完整版本: Android 安卓手机app中arm64-v8a(aarch64)、armeabi-v7a的apk文件都是什么意思,CPU指令集