测试开发工程师需要知道的 Android和iOS CPU架构基础知识

简介: 测试开发工程师需要知道的 Android和iOS CPU架构基础知识

类型


CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型的CPU,下面是几个常见的类型:


  • ARM公司: arm架构
  • Intel公司: x86和x86-64系列架构
  • AMD公司: x86和x86-64系列架构


其中电脑PC一般是用Intel和AMD公司的x86和x86-64系列的CPU,手机一般是用arm的CPU,主要是因为arm处理器功耗低、体积小、非常适合手机这种嵌入式设备的使用场景。


iOS


armv7、armv7s、arm64、arm64e这些都是ARM处理器的指令集,下面看一下iOS真机和模拟器的CPU架构区别:


模拟器

  • i386:32位模拟器
  • x86-64:64位模拟器


真机

  • arm64e :64位处理器,例如:iPhone XS | iPhone XS Max | iPhone XR | iPhone 11 | iPhone 11 Plus | iPhone 12 等新一代机型
  • arm64:64位处理器,例如:iPhone 5S | iPhone 6 | iPhone 6 Plus | iPhone 6S | iPhone 6S Plus | iPhone 7 | iPhone 7 Plus | iPad (2018) | iPhone 8 | iPhone 8 Plus | iPhone X
  • armv7s:32位处理器,例如:iPhone 5|iPhone 5C|iPad4(iPad with Retina Display)
  • armv7:32位处理器,例如:iPhone 4|iPhone 4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4


Android


在讲Android的CPU架构前先来看看ABI的概念,想必很多端上的测试开发同学在日常工作中都有听业务研发提到过Android应用ABI的支持情况。


ABI简介

不同的Android手机使用不同的CPU,而不同的CPU又支持不同的指令集,CPU 与指令集的每种组合都有专属的应用二进制接口,也就是我们上面提到的ABI。


CPU架构和ABI的关系

应用程序二进制接口(Application Binary Interface)定义了二进制文件,特别是.so文件如何运行在相应的系统平台上(从使用的指令集、内存对齐到可用的系统函数库等),在Android系统上,每一个CPU架构都对应一个ABI:armeabi,armeabi-v7a,arm64-v8a,x86,mips,mips64,x86_64。


CPU架构

目前主要有以下几种CPU架构:

  • ARMv5:第5、6代的32位ARM处理器,缺少对浮点数计算的硬件支持,使用软件浮点运算,在需要大量计算时有性能瓶颈,虽然速度慢,但通用性强,支持的ABI类型:armeabi
  • ARMv7:第7代的32位ARM处理器,是目前的主流版本,使用硬件浮点运算,具有高级扩展功能,支持的ABI类型:armeabi-v7a 和 armeabi
  • ARMv8:第8代的64位ARM处理器,支持的ABI类型:arm64-v8a、armeabi-v7a和armeabi(可用32位模式运行armeabi-v7a和armeabi);
  • x86:32位intel处理器,一般用于平板和模拟器,支持的ABI类型:armeabi(性能有所损耗) 和 x86
  • x86_64:64位intel处理器,一般用于平板和模拟器,支持的ABI类型:x86 和 x86_64
  • MIPS/MIPS64:极少用于手机可以忽略,支持的ABI类型:mips和mips64


注意:在最新的Mac M1系列电脑上也可以运行ARM的模拟器了,CPU架构类型为arm64-v8a

相关文章
|
1天前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比分析
在移动应用开发的广阔天地中,安卓和iOS平台各自扮演着不可或缺的角色。本文将深入探讨两大主流移动操作系统的开发环境,从编程语言、开发工具、用户界面设计以及跨平台框架等多个维度进行细致对比。我们将揭示它们在开发效率、用户体验和技术生态上的差异,旨在为开发者提供一份全面而实用的指南,帮助他们根据项目需求和目标受众作出更明智的技术选择。
6 0
|
1天前
|
监控 Android开发 iOS开发
探索Android与iOS开发的差异:平台、工具和用户体验的比较
【6月更文挑战第25天】在移动应用开发的广阔天地中,Android和iOS两大平台各领风骚,它们在开发环境、工具选择及用户体验设计上展现出独特的风貌。本文将深入探讨这两个操作系统在技术实现、市场定位和用户交互方面的关键差异,旨在为开发者提供一个全景式的视图,帮助他们在面对项目决策时能够更加明智地选择适合自己项目需求的平台。
|
2天前
|
Java 开发工具 Android开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的广阔天地中,Android和iOS两大平台各自占据着半壁江山。本文将深入探讨这两个平台在开发过程中的关键差异点,包括编程语言、开发工具、用户界面设计、性能优化以及市场覆盖等方面。通过对这些关键因素的比较分析,旨在为开发者提供一个清晰的指南,帮助他们根据项目需求和目标受众做出明智的平台选择。
|
2天前
|
编解码 Android开发 iOS开发
深入探索Android与iOS开发的差异与挑战
【6月更文挑战第24天】在移动应用开发的广阔舞台上,Android和iOS两大操作系统扮演着主角。它们各自拥有独特的开发环境、工具集、用户基础及市场策略。本文将深度剖析这两个平台的开发差异,并探讨开发者面临的挑战,旨在为即将踏入或已在移动开发领域奋斗的开发者提供一份实用指南。
22 13
|
2天前
|
API 开发工具 Android开发
安卓与iOS开发环境对比分析
本文将探讨安卓与iOS两大移动操作系统在开发环境中的差异,包括编程语言、工具链、API设计哲学、应用商店政策以及开发者社区支持等方面。通过比较分析,旨在帮助开发者更好地选择适合自己项目需求的平台,并理解不同环境下的开发挑战和机遇。
|
3天前
|
安全 搜索推荐 Android开发
探索安卓和iOS系统的优劣与特点
在移动操作系统领域,安卓和iOS一直是最热门的两个选择。本文将探讨安卓和iOS系统的优劣与特点,帮助读者更好地了解这两个操作系统,并为选择合适的移动设备提供参考。
10 0
|
5天前
|
Java 开发工具 Android开发
安卓与iOS开发差异解析
【6月更文挑战第21天】本文旨在深入探讨安卓和iOS两大移动操作系统在应用开发过程中的主要差异。通过对比分析,揭示各自的设计哲学、编程语言选择、用户界面构建、性能优化策略以及发布流程的异同。文章将提供开发者视角下的实用信息,帮助他们更好地理解各自平台的特点和挑战,从而做出更明智的开发决策。
|
6天前
|
安全 Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的对比分析
移动应用开发的两大阵营——安卓与iOS,各自拥有独特的开发环境、用户群体和市场定位。本文将深入探讨这两个操作系统在应用开发过程中的主要差异,包括编程语言、开发工具、用户界面设计、性能优化、安全性考量以及发布流程等方面。通过比较分析,旨在为开发者提供跨平台开发的见解和策略,以优化应用性能和提升用户体验。
10 0
|
6天前
|
Java 开发工具 Android开发
探索安卓与iOS开发的核心差异
【6月更文挑战第20天】在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文将深入探讨这两大操作系统在开发过程中的主要区别,包括编程语言、开发工具、用户界面设计哲学、系统架构以及市场分布等方面。通过对这些关键差异的分析,旨在为开发者提供一份实用的指南,帮助他们在面对项目决策时,能够更加明智地选择合适的平台,并针对特定平台优化他们的应用。
|
6天前
|
开发工具 Android开发 iOS开发
探索安卓与iOS开发的差异:从工具到用户体验
【6月更文挑战第20天】在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计以及性能优化等方面的关键差异。我们将通过比较分析,揭示各自平台的独特优势和面临的挑战,为开发者提供决策参考,并为最终用户提供更深层次的用户体验洞察。