zoukankan      html  css  js  c++  java
  • 浅谈Android和IOS系统的差异

    总结:事件响应级别、GPU加速、进程前后台、代码运行速度、内存管理机制。

    进程管理机制、内存管理机制、cpu效率、GPU加速、事件响应级别、

    1.    渲染机制不同

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

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

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

    Android 系统与 iOS 系统,两者在处理信息的优先级上就有不同的原则。iOS 对屏幕反应的优先级是最高的,它的响应顺序依次为 Touch--Media--Service--Core 架构,换句话说当用户只要触摸接触了屏幕之后,系统就会最优先去处理屏幕显示也就是 Touch 这个层级,然后才是媒体(Media),服务(Service)以及 Core 架构。而 Android系统的优先级响应层级则是 Application-- Framework -- Library -- Kernal 架构,和显示相关的图形图像处理这一部分属于 Library,当你触摸屏幕之后 Android 系统首先会激活应用,框架然后才是屏幕最后是核心架构。

    2.    IOS基于GPU加速

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

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

    (1.           虽然Android 4.0以及4.1等更高版本中进行了改进将硬件加速设为默认开启,但依旧无法做到所有特效全部都靠GPU进行加速)

    (2.           在很多Android手机里面都自带有“是否开启GPU渲染”这个功能选项,不过开启之后的改善也是微乎其微。)

    3.    后台机制不同

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

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

    4.    iPhone执行效率比安卓机高

    安卓的编程语言是Java,特点是通用性强、效率低。而IOS的则为Objective-C,专一性强、效率高。

    IOS系统本身优化得比较好(编译器gcc,而这个gcc编译出来的代码又被苹果专为iOS架构优化到了极致,运行过程中也不需要虚拟机在中间插手),而且程序直接执行,所以效率高。

    安卓系统是通过Java虚拟机来执行(再加上内存自动回收的机制,所以造成了一些卡顿不流畅的现象出现),系统需要占用大量内存来换取执行速度,也就是要绕了个大圈才执行程序,所以效率低很多

    5.    厂商喜欢给iPhone做优化

    iPhone硬件等参数比较稳定,安卓硬件配置不稳定,所以厂商更喜欢给iPhone做优化

    6.    系统内存管理机制不同

    iOS系统在系统内存不足时会自动释放内存。

    https://blog.csdn.net/wujianli8/article/details/43964341

  • 相关阅读:
    邀请函|2021 云原生实战峰会,邀请您免费现场参会报名
    Game On Serverless:SAE 助力广州小迈提升微服务研发效能
    说出你和「云原生」的故事,获得年度云原生顶级盛会通行证
    巧用浏览器F12调试器定位系统前后端bug
    测试人员怎样定位bug原因
    mysql删除某个表前100条数据
    设计模式之工厂方法模式
    2021.11.19
    20211117
    JQuery插件集合
  • 原文地址:https://www.cnblogs.com/feng9exe/p/8797648.html
Copyright © 2011-2022 走看看