当前位置:   article > 正文

浅谈Android手机cpu架构适配_arm64-v8a, armeabi-v7a

arm64-v8a, armeabi-v7a

本文由 简悦 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'
}
  • 1
  • 2
  • 3
  • 4

那你应该去编译一份真正的 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 星的方案,架构也是这样没有完美的,挑选适合你的吧!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/526697
推荐阅读
相关标签
  

闽ICP备14008679号