zoukankan      html  css  js  c++  java
  • 【学习总结】IOS系统和Android系统的区别

    全面对比

    • 从硬件、软件、用户三个方面进行对比。

    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

    ==============================================================

    注:从技术角度和使用操作两方面详述IOS系统和Android系统的区别

    • 苹果把用户当做user,安卓把用户当做admin

    概述不同

    底层

    • Android是一种基于Linux的自由及开源的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司发行。

    • iOS是由苹果公司开发的移动操作系统,用于苹果设备。

    流畅性

    • Android系统采用了虚拟机的运行机制,这样的运行机制需要消耗更多的系统资源,使用一段时间后就会变得卡顿;

    • ios系统几乎不会出现卡顿的现象,并且Android系统的桌面滑动的灵敏性都不如ios系统。

    性价比

    • 苹果公司对ios系统是拥有专利的,如果别的手机生产厂商想使用ios系统,那绝对是收费的,但是并且苹果公司不会会把自己的系统给别人用。

    • Android系统是Google公司提供的免费、开源的系统,并且Android比iOS开放了更多的应用接口API,可以很自然地利用Android实现很多在iOS上不折腾就没法做的功能,Android由于源代码开放,自然可玩性也比iOS高。在性价比角度,Android系统绝对会完爆ios系统。

    省电

    • ios系统是更加省电的。

    • Android会占用更多的资源来支撑系统运行,导致了它会比较费电。

    后台执行程序

    • IOS系统根本不需要清理后台。IOS独特的任务管理机制。当应用程序不在前台运行时,除了GPS服务、音频播放服务和VOIP服务以外,其他的应用(支持所谓的后台执行的程序)在10分钟后都是被系统挂起的,从技术上来说,被挂起的意思等同于不执行,只是数据驻留在内存而已。

      • IOS系统的多任务假象,例如QQ,看起来貌似是在后台运行,其实不是。你能收到消息提示只是系统推送服务,无论你的应用程序是否在运行,IOS都会在后台维护这个服务以实现假的多任务,并且所有的应用程序都会共用这一服务通道。
    • Android系统的后台软件很难关掉,因为有的软件会以各种形式自启,占用系统资源。

    系统稳定性

    • 虽然iOS更稳定不易死机,如果出现死机情况也不能拆电池,毕竟,iphone是一体机。

    • Android就好多了,死机后直接拆电池,当然了,也有Android系统的手机是一体机的。小编认为:爱护自己的手机,不随意浏览网页、不随意下载软件,手机是不会死机的。

    系统更新

    • ios系统一旦更新出来后,搭载其系统的苹果移动设备都可以及时的升级系统。

    • Android系统虽然更新出新版的系统,但是普通用户是享受不到的,因为它不能自动更新到最新版。

    安全

    • ios系统比较安全,因为苹果公司在为ios系统添加功能之类的操作,会开发并测试很长时间。

    • Android系统要求较低“跑起来就行了”,开发测试时间较短,漏洞也比较多,“黑客”只需简单发送一条彩信便能在用户毫不知情的情况下完全控制手机。

    桌面界面

    • ios系统的界面比较单一,也是比较经典的。

    • Android的界面可以根据自己的喜好来设置,比较多样化。

    =======================================================================

    参考链接

    END

  • 相关阅读:
    中文词频统计
    复合数据类型,英文词频统计
    hadoop 综合大作业
    分布式并行计算MapReduce
    分布式文件系统HDFS 练习
    安装关系型数据库MySQL 安装大数据处理框架Hadoop
    爬虫综合大作业
    爬取全部的校园新闻
    获取一篇新闻的全部信息
    理解爬虫原理
  • 原文地址:https://www.cnblogs.com/anliux/p/12932129.html
Copyright © 2011-2022 走看看