浅谈Android手机cpu架构适配

常见手机端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星的方案,架构也是这样没有完美的,挑选适合你的吧!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值