175-2108-6175
网站建设资讯详细

Android和ios的区别

日期:2023-05-06  作者:千语创想  浏览:3916

一、系统和框架结构

(1) Android系统的底层建立在Linux系统之上;而ios基于UNIX系统。

    这一点就造成了Android与iOS的生态不同了,Android完全开源,任何软件开发商或者个人都能开发安卓的软件;ios完全封源开发。

    Linux的大多数版本都开源,而Unix系统主要分为两个阵营:System V和BSD。商业版本的Unix一般属于System V阵营,通常是不开源的,如IBM的AIX系统,惠普的HP-UX系统等;而BSD阵营的版本通常都是开源的,如FreeBSD、OpenBSD等。

 

(2)编程语言:Android的编程语言是Java和KotLin;而ios的则为ObjectC和Swift。

    Android的Java,面向对象,性能比C语言和OC低;ios的OC,基于对象,完全兼容C语言的语法,可以直接操作内存。

    Android生成class文件,需要虚拟机来进行解释;ios直接执行程序的二进制代码。

    这也在根本上造成了iOS与Android性能不同:Android和Window一样,目的是打造一款通用性非常好的系统,在任何机器上面都可以运行;ios目的是让软件和硬件完美的结合到一块,该操作系统只能在极少数机器上面才能运行。

 

(3)运行机制:ios采用的是沙盒运行机制;安卓采用的是虚拟机运行机制。

    iOS采用伪后台,当用户HOME键退出应用时,IOS其实关闭了程序,只保留应用的图像入口,只会默认将最后的运行数据记录在RAM中。之所以IOS也能收到推送,是因为应用程序开启推送后,系统会增加一些进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在这里是起到了中转的作用。

    安卓手机的后台是真后台,将应用保留在RAM中,之所以能够收到推送,也因为它常驻内存。

所以Android在软件关闭的情况下,无法接收推送信息;ios在软件关闭的情况下,依然可以接收推送信息,iOS系统在系统内存不足时会自动释放内存。 

二、渲染机制

(1) iOS最先响应屏幕

 

    IOS的UI渲染采用实时优先级,Android的UI渲染遵循传统电脑模式的主线程普通优先级。

    IOS的响应顺序依次为Touch–Media–Service–Core架构

    Android系统的优先级响应层级是Application–Framework–Library–Kernal架构

    当我们使用iOS或者是Android手机时,第一步就是滑屏解锁找到相应程序点击进入。而这个时候往往是所有操控开始的第一步骤,iOS系统产品就表现出来了流畅的一面,但Android产品却给人一种卡顿的现象,更别说后续深入玩游戏或者进行其它操控了。

    这也就是为什么我们常说iOS比Android流畅了,因为iOS最先响应屏幕,iOS对屏幕反应的优先级是最高的,它的响应顺序依次为Touch–Media–Service–Core架构,换句话说当用户只要触摸接触了屏幕之后,系统就会最优先去处理屏幕显示也就是Touch这个层级,然后才是媒体(Media),服务(Service)以及Core架构。

    而Android系统的优先级响应层级则是Application–Framework–Library–Kernal架构,和显示相关的图形图像处理这一部分属于Library,你可以看到到第三位才是它,当你触摸屏幕之后Android系统首先会激活应用,框架然后才是屏幕最后是核心架构。

(2)iOS系统优先处理Touch层级

    优先级的不同导致了iOS产品以及Android手机在操控过程中的表现差异,当你滑动屏幕进行操控的时候,iOS系统会优先处理Touch层级,而Android系统则是第三个才响应Library层级,这是造成它们流畅度不同的因素之一。

    不过优先级对系统流畅性有有影响不假,但并不是最绝对的,造成两系统之间流畅性不一的现象还有其它因素。 目前智能手机硬件装备竞赛当中,其实处理器等配置已经达到了一个瓶颈期,各大旗舰产品在硬件比拼当中基本上没有太大的区别,而这时候GPU就成为了一个凸显差异的重要因素。一些大型软件像是3d游戏对GPU性能要求都会比较高,苹果iPhone产品采用的Power VR SGX系列GPU在当下来说非常的主流,跑分测试数据证明了它并不会比一些旗舰级别的Android产品差劲。

(3) iOS图形特效基于GPU加速渲染

    iOS系统对图形的各种特效处理基本上正好都是基于GPU硬件进行加速的,它可以不用完全借助CPU或者程序本身,而是通过GPU进行渲染以达到更流畅的操控表现。

    但是Android系统产品则并非如此,因为Android需要适应不同的手机硬件,需要满足各种差异配置,所以很多图形特效大多都要靠程序本身进行加速和渲染,并严重依赖CPU运算的操作自然会加大处理器的负荷,从而出现卡顿的问题。

    iOS系统对图形的各种特效处理基本上正好都是基于GPU硬件进行加速的,它可以不用完全借助CPU或者程序本身,而是通过GPU进行渲染以达到更流畅的操控表现。

Android系统产品则并非如此,因为Android需要适应不同的手机硬件,需要满足各种差异配置,所以很多图形特效大多都要靠程序本身进行加速和渲染。

    屏幕最先响应的优先级关系,再加上iSO本身GPU加速程序的特性,使得在操控过程中感觉iOS手机拥有着良好的流畅性。因为它本身的整个流程都是在为最大化的流畅做服务,不管是第一印象的滑动接触屏幕,还是你进一步使用程序之后的更深层操作都是如此。而GPU加速这点特性,是它优于Android系统流畅性的又一个因素。

 


转载请注明来自:https://www.qianyuthink.com/news/7472.html