armeabi与armeabi-v7a的区别,绝对干货!
来源:互联网 发布:惠普手机打印软件 编辑:程序博客网 时间:2024/05/20 23:37
1、手机cpu架构。
讲到armeabi就不得不讲手机cpu了。电脑有电脑的cpu,手机也有手机的cpu。cpu有厂商属性,也有架构属性,架构的话自己简单地理解就是它的内部模块的组成结构。
其中arm架构的手机cpu占市场的大部分,这也是今天的重点。但arm架构的发展历史悠久,也有很多不同的版本。
2、前面讲了cpu架构,为下面的讲述做了一个技术背景的铺垫。
我们在开发Android项目的时候,比如使用高德地图导航或者3d地图的时候就会使用到.so库文件,它们保存在armeabi和armeabi-v7a或arm64-v8a等目录下,这有什么作用呢?
其实这是给app运行时读取的几个目录,但会根据手机cpu架构类型只从其中一个文件夹读取,有点类似values和values-21的作用,但是与它们又有点不同。
后者的规则是:如果手机是21以上的会首先在values-21文件里面查找样式等,如果查找不到才去values文件找;如果手机是21以下的就直接在values文件下找。
前者的规则是:根据cpu架构类型去app的libs里面匹配到对应的目录比如armeabi或者armeabi-v7a,然后就加载这个目录下的.so库;
如果在匹配到的目录下没有对应的库也不会去别的目录下加载;
但是armeabi目录可以匹配所有的arm架构的cpu,意思是指所有的arm架构的cpu的安卓手机如果没有找到最优的对应的目录,则会去匹配armeabi目录。
我的推测是arm架构的cpu是向下兼容的,即保留之前版本的功能,而armeabi目录是匹配低版本armv5的,所以高版本的arm架构的cpu可以读取armeabi目录下的.so库文件;查过资料会发现低版本的arm架构cpu支持软浮点运算而高版本的支持硬件浮点运算,这是他们的区别之一。
3、最近在开发高德导航功能,官方文档提示此功能不支持armeabi-v7a,根据以上的讲述:导航功能并没有为armeabi-v7a对应的cpu设计一套.so库文件,所以只能使用armeabi目录下的库文件,所以要删掉armeabi-v7a目录。
- armeabi与armeabi-v7a的区别,绝对干货!
- armeabi-v7a 与 armeabi区别
- armeabi与armeabi-v7a
- armeabi-v7a 与 armeabi
- armeabi与armeabi-v7a
- armeabi与armeabi-v7a
- armeabi与armeabi-v7a
- armeabi与armeabi-v7a
- armeabi 与armeabi-v7a
- armeabi-v7a 与 armeabi有什么区别
- armeabi 和armeabi-v7a文件夹的区别
- armeabi armeabi-v7a X86 的区别
- armeabi和armeabi-v7a的区别
- armeabi和armeabi-v7a区别
- android armeabi与armeabi-v7a
- Android工程中的armeabi与armeabi-v7a
- Android工程中的armeabi与armeabi-v7a
- android的armeabi跟armeabi-v7a
- Activity的生命周期全面分析
- java中static{}语句块详解
- 安装交叉编译工具arm-none-linux-gnueabi-gcc——Linux上编译在android上运行的c程序
- C++11 中值得关注的几大变化(详解)
- 类中成员函数调用问题
- armeabi与armeabi-v7a的区别,绝对干货!
- 【Android】Android清除本地数据缓存代码
- 神经网络深入 ,源码
- DBoW2算法原理介绍
- tensor理解
- 编写可读性代码的艺术(一)
- Linux系统--进程地址空间之存储器区域
- 死锁
- tensorflow学习笔记十六:tensorflow官方文档学习 Mandelbrot Set