赞
踩
本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
常见手机端 cpu 架构 armeabi armeabi-v7a arm64-v8a (x86、x86_64 手机端可以忽略,大都是平板设备)
场景一、只有 armeabi-v7a 架构的 so 或包含 so 的 aar
ndk {
abiFilters ‘armeabi-v7a’
}
优点:
1、兼容市场 99.9% 以上的设备
armeabi — 大概 10 年前手机会用,可以忽略。2011 年以后的手机基本是 armeabi-v7a、arm64-v8a。
arm64-v8a — 自动兼容转换使用 armeabi-v7a 下的 so 文件。
x86 — 也有自己的兼容机制,可以兼容 armeabi-v7a,不过 x86 手机几乎不存在
2、体积小
缺点:在 arm64-v8a 架构的手机上 性能差一些,不能充分利用 arm64-v8a 架构的性能
想加上 arm64-v8a 的配置如何操作呢?比如在 app — build.gradle — android — defaultconfig 里面加了
这个
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a'
}
那你应该去编译一份真正的 arm64-v8a 架构的 so,然后放到 app — libs — arm64-v8a 文件夹下,千万不可从 armeabi-v7a 中拷贝过来放进去,否则会报错。这里特别注意 要不就别加,加就加真的。
场景二、只有 armeabi 架构的 so 或包含 so 的 aar
ndk {
abiFilters ‘armeabi’, ‘armeabi-v7a’
}
这种场景同场景一、但是有点区别,你可以将 so 拷贝到 app — libs — armeabi-v7a 下面来使用,因为这个是可以兼容的,不过意义并不大。(aar 中的 so 可以修改后缀名为. zip 然后解压拿到)
场景三、armeabi armeabi-v7a arm64-v8a x86 都有
ndk {
abiFilters ‘armeabi’, ‘armeabi-v7a’,‘arm64-v8a’,‘x86’
}
优点:充分利用性能,兼容性极好
缺点:体积大
总结:
在实际的手机项目中,推荐配置如下:
1、最佳配置方式:armeabi-v7a + arm64-v8a 两种架构,兼容和性能都有 推荐指数 4.5 星
2、通用配置 armeabi-v7a 兼容好、体积小 推荐指数 4 星
我还没发现 5 星的方案,架构也是这样没有完美的,挑选适合你的吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。