Android动态链接库 7种CPU架构对比
2017-06-07 16:48
309 查看
ABI和CPU的关系
在使用so库应该注意:很多设备都支持多于一种的ABI,当一个应用安装在设备上,只有该设备支持的CPU架构对应的.so文件会被安装。但是为了打包体积和使用的精准性,最好是针对特定平台提供相应平台的ABI文件。我们可以通过Build.SUPPORTED_ABIS得到根据偏好排序的设备支持的ABI列表。但你不应该从你的应用程序中读取它,因为Android包管理器安装APK时,会自动选择APK包中为对应系统ABI预编译好的.so文件。
7种CPU架构对比:
ABI(横向)和cpu(纵向) | armeabi | armeabi-v7a | arm64-v8a | mips | mips64 | x86 | x86_64 |
---|---|---|---|---|---|---|---|
ARMv5 | 支持 | ||||||
ARMv7 | 支持 | 支持 | |||||
ARMv7 | 支持 | 支持 | 支持 | ||||
MIPS | 支持 | ||||||
MIPS64 | 支持 | 支持 | |||||
x86 | 支持 | 支持 | 支持 | ||||
x86_64 | 支持 | 支持 | 支持 |
64位设备(arm64-v8a, x86_64, mips64)能够运行32位的函数库,但是以32位模式运行,在64位平台上运行32位版本的ART和Android组件,将丢失专为64位优化过的性能(ART,webview,media等等)。
使用NDK时,你可能会倾向于使用最新的编译平台,但事实上这是错误的,因为NDK平台不是后向兼容(兼容过去的版本)的,而是前向兼容(兼容将来的版本)的。推荐使用app的minSdkVersion对应的编译平台。
相关文章推荐
- android用户扫盲:手机cpu频率与架构(上篇)~~~~~~~~~~
- Apple IOS、Android、WebOS系统体系架构对比
- ARM与X86 CPU架构对比区别
- Android项目打包时指定支持的CPU架构,防止多余so文件
- MVP架构-Android官方MVP项目和响应式MVP-RxJava项目架构分析对比解读
- Tegra3 vSMP架构Android运行时CPU热插拔及高低功耗CPU切换
- ARM 和 x86 架构比较---Android平台上的CPU类型
- 关于Android的.so文件 CPU架构
- ndk-build 编译多个CPU架构的动态链接库
- 查看Android设备的CPU架构信息
- Apple IOS、Android、WebOS系统体系架构对比
- Android与iOS系统架构对比
- ARM与X86 CPU架构对比区别
- 【android】应用架构一一一一一Activity和Fragment的对比分析
- 如何查看Android设备的CPU架构信息
- Apple IOS、Android、WebOS系统体系架构对比
- CPU架构对比(MIPS 和 ARM)
- android Module架构与Stub构架对比
- 如何查看Android设备的CPU架构信息
- android MVC/MVP/MVVM架构对比