LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 720|回复: 0

IOS系统和Android系统的区别

[复制链接]
发表于 2024-1-7 13:12:24 | 显示全部楼层 |阅读模式
全面对比
从硬件、软件、用户三个方面进行对比。

1 硬件
主要从处理器角度分析

iOS
iOS系统是基于苹果公司自研处理器A系列进行的开发设计;
苹果公司软硬件高度统一,完全闭环,避免了兼容性问题的考虑,软件系统和硬件系统的协同设计得以更好地进行,使得iOS系统更适合A系列处理器的同时,A系列处理器也更适合iOS系统。

Android
安卓处理器生产厂商较多,如高通、华为、三星等较为主流。
三星、华为芯片,和苹果公司一样,采用自研自用,而其他国内手机厂商不具备自研芯片的技术能力,需要购买后再进行相应的操作系统的设计开发,受限于处理器的核心技术。
处理器在设计、生产的过程中,难以真正做到软硬件协同设计开发,需要兼顾不同厂商;同时,操作系统的设计开发是在已有处理器、无法对处理器进行再设计的情况下进行的。

2 软件
主要从框架、运行机制、后台机制、指令优先级、开发等角度对比。
框架

iOS系统框架:

iOS系统是苹果公司开发的移动端操作系统,全称iPhone operation system
iPhone OS来源于Mac OS,是一种类Unix操作系统。
iOS系统作为软件应用程序与设备硬件的桥梁,应用程序首先与操作系统的接口通信,系统受到信息后再去与底层硬件实现交互从而完成程序要完成的任务。

iOS操作系统架构分为四层,从下到上依次为:Core OS操作系统层、Core Services核心服务层、Media媒体层、Cocoa Touch触摸层。
Core OS操作系统层和Core Services核心服务层:为iOS系统底层接口。
Core OS操作系统层:包含了电池管理、文件系统等服务。
Core Services核心服务层:包含了网络请求、数据库访问、浏览器、文件访问等。
Media媒体层:为应用程序提供对各类媒体文件的支持,图的绘制,多媒体的播放以及动画等特效。
Cocoa Touch层:位于最顶层,为整个系统提供程序所使用的各类基础框架,该层主要功能是处理iOS设备上的交互操作,多为与界面相关的框架。


Android系统框架

安卓系统平台是谷歌公司开发的,其系统内核本身通过linux内核,操作系统属于嵌入式。
安卓平台采用分层架构的思想进行设计,从上到下共有四层,分别是应用程序层(与用户交接),应用程序框架层(系统的逻辑运行),系统库(支持系统运行),安卓运行时,linux内核。
基于安卓开发的应用程序都是通过java语言进行设计实现的,每一个程序的运行都代表着系统一个进程的实现。此模式大大提高了安卓操作系统的性能。(Dalvik虚拟机)

linux内核层:实现安卓平台软硬件融合的基础,其将硬件资源进行了屏蔽,并提供各种公共功能,以便为上一层提供相应服务,有助于提升效率。
安卓库层:Dalvik虚拟机在运行时占用的资源很少,使得系统能同时运行多个VM,并且拥有较好的性能,平台的寄存器技术有谷歌自主研发,同时为了方便各项功能处理,平台提供许多方法供调用。该层通过一些重要的库文件,对系统起着服务支撑作用,通过将服务文件集中统一到系统底层可以让系统具备更强的兼容性,配合不同的硬件完成工作,其中最典型的就是NDK。
应用架构层:首先需要获得开发权限,并以框架为工作重点,框架的使用可以实现组件复用,减少代码开发,提升开发效率。
应用程序层:系统的顶层,直接面向系统使用者,包括了大量的应用程序,并利用系统底层的Dalvik虚拟机运行。



运行机制

iOS:沙盒运行机制

出于安全考虑,iOS应用程序与文件系统的交互仅限于应用沙盒目录。
在安装新应用期间,安装程序会为沙盒目录中的应用创建多个容器目录。
每个容器目录都有特定的角色:捆绑容器目录保持应用的捆绑包;而数据容器目录同时保存应用和用户的数据;数据容器目录进一步划分为多个子目录,应用可用于排序和组织其数据;该应用还可以请求在运行时访问其他容器目录。
意味着:没有用户授权的情况下,iOS应用程序仅能在自己的沙盒读写文件,不可访问其他沙盒,不可进行相互通信。在访问其他沙盒内容时,需要发出请求,通过权限检测,只有满足条件才可完成访问。


Android:虚拟机运行机制

安卓采用虚拟机运行机制,Dalvik是谷歌公司自研设计用于安卓平台的java虚拟机,是面向linux、为嵌入式操作系统设计的虚拟机,主要负责完成对象生命周期管理、栈堆管理、线程管理、安全和异常管理、垃圾回收等功能。
Dalvik负责进程隔离和线程管理,每一个安卓应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行,有的安卓应用的线程对应一个linux线程,虚拟机因而可以更多依赖操作系统的线程调度和管理机制。


后台机制

iOS系统:伪后台

iOS4:iOS开始拥有多任务功能,按home键以后,程序转入后台,以墓碑的形式保存在内存中,用户可以快速恢复。iOS多任务界面列出的应用仅仅是近期使用过的,而并非真正在后台运行的程序。仅有特殊应用可以在后台真正运行,比如音频播放、位置服务等。
iOS7:标志着伪后台到智能后台的转变。手机锁屏后,后台应用很快被暂停,再次唤醒后,应用继续运行。


Android系统:真后台

同Windows操作系统相似,将应用保留在RAM中,即安卓所有软件在硬件条件许可的情况下,可以实现后台甚至多窗口模式。
安卓的应用都是带有独立虚拟机的,即每打开一个应用,对应会打开一个独立的虚拟机,每个应用具有自己的进程和内存空间,但需要更多的内存。

指令权限优先级

iOS系统ui指令

iOS系统中的ui指令具有最高权限,ui渲染采用实时优先级
iOS系统响应顺序依次为:(从上到下)触摸层、媒体层、核心服务层、操作系统层。
用户触摸屏幕后,iOS系统会首先激活屏幕,然后才是媒体、服务及架构。


Android系统数据处理指令


优先级响应层级:(从上到下)应用层、架构层、系统库、内核架构。
其中最高权限指令为数据处理指令,而其ui渲染遵循传统电脑的主线程普通优先级,触摸屏幕后安卓系统会首先激活应用、框架,然后屏幕,最后才是核心架构。


开发

iOS:objective-c

iOS编程语言为objective-c,具有专一性强、效率高的特点;
iOS系统优化较好,gcc编译出的代码被苹果转为iOS架构优化到了极致,无需虚拟机,执行效率高。
iOS产品的封闭性,底层硬件稳定、单一,使得其应用程序得以拥有极高的硬件利用率,保证了应用开发本身与硬件产品的完美结合。


Android:java

安卓的编程语言是java,通用性强,但效率低。
安卓系统需要虚拟机运行,效率低。
安卓生态硬件变化相对频繁,开发成本较高,收益慢,同时为了兼顾通用,不得不向软硬件协同开发设计低头。


3 用户

主要从系统应用、价格、安全管理、系统更新进行对比

系统应用

应用数量是用户选择手机系统的重要原因之一。
iOS:APP store;Android:Google Play。
iOS数量一直很高,直到安卓市场份额增长,且审核较宽松,安卓APP数量一直上升。
关于系统应用对比,安卓和iOS分别在数量和质量方面占据一定优势,处于一种良性竞争并驾齐驱状态。

价格

iPhone手机毫无疑问是当季手机的最高价格,也限制了一些客户的购买与无望。
在手机价格方面,安卓更吸引消费者。

安全管理

安卓系统:开放性和普及性,使得一些病毒和恶意程序对其的攻击也随之而来。安卓系统的更新问题同样是大多数病毒攻击的方面,由于最新版本系统的普及率不高,还有很多一部分用户在使用较低版本的系统,病毒会从这些版本的漏洞攻击。
iOS系统:在硬件和软件的方面都使用了许多安全功能,采用安全启动、触控ID,面部ID,非执行记忆体,加密钥匙圈,应用程序保安,双重身份认证等功能,更好地保护消费者的安全。
相比而言,iOS是目前最安全的移动操作系统。

系统更新

目前,几乎50%的iOS设备都运行最新版本,相对而言,安卓设备运行最新版本占总数的比重就很少了,旧系统的使用者仍占大多数。
如果客户侧重的是系统更新,那么优选iOS

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表