您的位置 首页 java

天天玩手机却不了解iOS操作系统?5分钟带你扫盲

上次我们介绍了Android操作系统,今天我们继续花5分钟来对iOS操作系统进行一个简单的了解吧。

iOS简介

iOS是由苹果公司为 iPhone 开发的操作系统。它主要是给iPhone、iPodtouch、iPad以及 AppleTV 使用。就像其基于的MacOSX操作系统一样,它也是以 Darwin 为基础的。原本这个系统名为iPhone OS,直到2010年6月7日 WWDC 大会上宣布改名为iOS。

Darwin是基于 Unix 内核开发出来的,而 Linux 也是参考Unix内核开发出来的开源系统,所以实际上Unix和Linux相爱相杀,又不太相同又很相似,像是一对亲戚。


iOS发展

iOS操作系统基本上从2007年诞生以来每年更新一个大版本,每个大版本会相应更新一些新的特性和功能,具体汇总如下

iOS发展历程


iOS系统架构

iOS的系统架构和Android一样,也分了四个模块,从底层到上层分别为Core OS、Core Services、Media、Cocoa Touch,而且四个模块跟Android的四个模块所实现的功能几乎是一一对应的,感兴趣的读者可以翻出Android系统架构的四个模块进行比对

iOS架构

  • Core OS

核心系统层提供为上层结构提供最基础的服务如操作系统内核服务、本地认证、安全、加速等。可以认为是Darwin的系统内核。

  • Core Services

核心服务层为程序提供基础的系统服务例如网络访问、浏览器引擎、定位、文件访问、数据库访问等,主要包含以下框架

CFNetwork(网络访问)

Core Data(数据存储)

Core Location(定位功能)

Core Motion(重力加速度,陀螺仪)

Foundation(基础功能如NSString)

Webkit(浏览器引擎)

JavaScript(JavaScript引擎)

  • Media

媒体层主要提供图像引擎、音频引擎、视频引擎框架

图像引擎(Core Graphics、Core Image、Core Animation、OpenGLES)

音频引擎 (Core Audio、 AV Foundation、OpenAL)

视频引擎(AV Foundation、Core Media)

  • Cocoa Touch

可触摸层主要提供用户交互相关的服务如界面控件、事件管理、通知中心、地图,包含以下框架

UIKit(界面相关)

EventKit(日历事件提醒等)

Notification Center(通知中心)

MapKit(地图显示)

Address Book(联系人)

iAd(广告)

Message UI(邮件与SMS显示)

PushKit(iOS8新push机制)


iOS为何更流畅

我们在日常使用中经常会听到说iOS的使用比Android要流畅,那么为什么我们会有这种感知呢,实际上这根iOS和Android的工作机制不同有关,下面我们来分析下为何iOS会显得更流畅

1、响应优先级不同

iOS:Touch—Media—Service—Core,最先响应屏幕。

Android: Application —Framework—Library—Kernal,和显示相关的图像处理属于Library,触摸屏幕之后会先激活应用、框架然后才是屏幕。

也就是说iOS对于屏幕触控的反馈优先响应屏幕,所以会给使用者造成iOS反应快的感知,比如同一个应用iOS和Android都是2秒打开的话,iOS会先快速打开APP然后2秒钟后加载完成,而Android则是先2秒钟加载完成后才显示打开APP。虽然总耗时相同,但给用户的感知会是iOS更快。

2、硬件工作配置不同

iOS:基于 GPU 硬件加速,可以不完全借助CPU或者程序本身,而是通过GPU进行渲染达到更流畅的操控表现。

Android:图形特效大多都要靠程序本身进行加速和渲染,并严重依赖CPU运算和操作,加大了处理器的负荷,从而出现卡顿的问题。(虽然Android高版本系统默认开启硬件加速,但无法像iOS系统一样做到系统层级的加速全部图形特效。

3、开发机制不同

iOS:Objective-C或Swift,编译器为gcc,不要虚 虚拟机 在中间插手,执行效率高。

Android:通过Java虚拟机来执行,系统需要占用大量内存来获取执行速度,再加上不定期的内存自动回收机制,直接导致了卡顿现象的出现。(事实上在介绍Android的文章里我们提到过Android换位ART模式后避免了虚拟机带来的弊端,启动速度已经接近于iOS)

4、系统设计不同

iOS:封闭性,所有APP运行对象比较单一,App Store。

Android:终端对象参数多变,各Android厂商的应用市场,APP管理混乱。

5、消息推送机制不同

iOS:APNs统一管理,应用不会在后台占用内存。

Android:没有统一管理机制,应用可以一直留在后台,导致内存不足。(虽然Google有官方的GCM推送机制,但国内无法使用,所以国内更多是接入各类的第三方推送,不够统一)


iOS的APP开发

  • Xcode

是苹果公司开发的一款产品,提供给开发者用来开发iOSApp的集成开发环境(IDE)。Xcode只能运行与苹果系统,所以要想开发iOS App必须要有一台苹果电脑。

  • Objective-C

扩充C的面向对象编程语言,1980年代初布莱德·考克斯(Brad Cox)在其公司Stepstone发明Objective-C。

  • Swift

WWDC2014所发布的一门编程语言,用来编写iOS应用程序,2015年06月09日,苹果通过WWDC大会上宣布Swift开源。这意味着可以用它来进行开发跨平台的应用,现在Swift已经被评为最有前景的编程语言。

文章来源:智云一二三科技

文章标题:天天玩手机却不了解iOS操作系统?5分钟带你扫盲

文章地址:https://www.zhihuclub.com/180245.shtml

关于作者: 智云科技

热门文章

网站地图