简言:
现在公司做的项目应用到地图,使用的是高德地图,按照高德地图的api进行集成,集成很简单,
但是运行项目,发现apk体积非常庞大,在集成完导航之后,达到25M,项目整体增加了20M,
这肯定不是公司想要的,最后查看,发现是so文件导致的,
1. 我们首先要了解的是android so文件,abi 和cpu的关系,推荐一篇博客: http://blog.csdn.net/xx326664162/article/details/51163905
so文件包括:armeabi、armeabi-v7a、arm64-v8a、mips、mips64、x86、x86_64等。
很久以前一般只用armeabi 在做兼容
现在市场上主流手机都支持armeabi-v7a和arm64-v8a。
2.针对个版本进行分析:
1)mips / mips64: 极少用于手机可以忽略,有兴趣的可以百度一下。
2)x86 / x86_64: x86 架构的手机都会包含由 Intel 提供的称为 Houdini 的指令集动态转码工具,实现 对 arm .so 的兼容,再考虑 x86 1% 以下的市场占有率,x86 相关的两个 .so 也是可以忽略的
3)armeabi: ARM v5 这是相当老旧的一个版本,缺少对浮点数计算的硬件支持,在需要大量计算时有性能瓶颈
4)armeabi-v7a: ARM v7 目前主流版本,一般市面上