美文网首页第三方学习之鸿蒙&Android
4. armeabi,armeabi-v7a,arm64-v8a

4. armeabi,armeabi-v7a,arm64-v8a

作者: 努力生活的西鱼 | 来源:发表于2021-06-15 23:25 被阅读0次

    最近,我们公司的APP,要做包体积的优化,其中一个方面就是so包的优化。
    对于so包的知识点,不是很清楚,特地来整理下。

    ndk {
        // 设置支持的SO库架构
        abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
    }
    
    1. Android支持的CPU处理器架构
    • mips
    • mips64
    • x86
    • x86_64
    • armeabi
    • armeabi-v7a
    • arm64-v8a
    2. 什么是ABI?
    • ABI: Application Binary Interface 应用二进制接口
    3. 什么是abiFilters?
    • 一种指定生成特定模式ABI包的过滤器
    4. 大厂是如何适配不同CPU架构的?
    • 微信(arm64-v8a)
    • 淘宝(armeabi-v7a)
    • 支付宝,手机QQ(armeabi)
    5. 主ABI和辅ABI适配流程
    6. 我们该如何适配呢?
    • 方案一: 只适配armeabi

      • 优点: 基本上适配了所有的CPU架构
      • 缺点: 性能低,相当于在绝大多数手机上都是需要辅助API或者动态转码来完成
    • 方案二: 只适配armeabi-v7a

      • 同理方案一,只是过滤了一些老旧的设备,在性能和兼容二者中比较平衡。
    • 方案三: 只适配arm64-v8a

      • 优点: 性能最佳
      • 缺点: 只能运行在arm64-v8a设备上,要放弃部分老旧设备用户。

    这三种方案都是可以的,现在的大厂APP适配中,这三种都有,大部分是前两种。

    具体选择哪一种,就看我们的考量了,要性能就是arm64-v8a,要兼容就是armeabi,要性能和兼容的平衡就是armeabi-v7a。

    2021-06-01 晚安

    相关文章

      网友评论

        本文标题:4. armeabi,armeabi-v7a,arm64-v8a

        本文链接:https://www.haomeiwen.com/subject/tshnsltx.html