您的位置 首页 > 数码极客

【苹果是什么系统】每天玩手机,但是不懂iOS操作系统?扫盲5分钟

上次介绍Android操作系统,今天用5分钟继续对iOS操作系统进行简单了解。

IOS简介

IOS是苹果公司为IPhone开发的操作系统。主要是为了iphone、ipod tuch、ipad和apple let。与基于MacOSX的操作系统一样,基于Darwin。原来该系统被称为iphone OS,2010年6月7日在WWDC大会上宣布改名为iOS。

Darwin是基于Unix内核开发的,Linux是参照Unix内核开发的开源系统,所以实际上Unix和Linux是彼此相爱、不同和相似的。就像一对亲戚。

IOS开发

IOS操作系统基本上自2007年诞生以来每年都会更新大版本,每个大版本都会相应地更新新的特性和功能,如下所示:

iOS开发过程

IOS系统架构

与Android一样,iOS的系统体系结构分为四个模块。也就是说,从底部到顶部分为核心操作系统、核心服务、媒体和Cocoa Touch,4个模块与Android的4个模块实现的功能几乎一一对应。感兴趣的读者可以推翻。

iOS体系结构

Core OS核心系统层为上层提供最基本的服务,包括操作系统内核服务、本地身份认证、安全性、加速等。可以认为是达尔文的系统内核。

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

Cf网络(网络访问)

核心数据(数据存储)

Core Location(定位功能)

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

Foundation(基本功能,如NSString)

网络工具包(浏览器引擎)

JavaScript(JavaScript引擎)

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

图像引擎(核心图形、核心图像、核心动画、OpenGLES)

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

视频引擎(AV基金会、核心媒体)

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

UIKit(与界面相关)

事件工具包(日历事件通知等)

通知中心(通知中心)

MapKit(地图显示)

Address Book(联系我们)

IAd(广告)

消息ui(显示消息和短信)

推套件(I推新推机制)

为什么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已经被评为最有前景的编程语言。

关于作者: luda

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐