从 iOS 1.0到 iOS 14,一文看完iPhone14年变迁史
大家可能都忘了最初的iOS是啥样了,如果把iOS各个系统文件拆一下,会是怎样的体验?今天我们就来扒一下iOS的演进史,不过,我们是从一个奇怪的角度,矩阵树图!What?2G的iPhone,发短信的年代回来了?如果透视下文件大小,初代iPhone就长下面这样。可以看到,iOS刚开始跟macOS差不多,框架占用了超过三分之一的大小,而字体竟然占了25%!可以看到UIkit占总体大小的13% 以上, 墙纸和手机铃声占6%, ICU 需要超过5%,SpringBoard大约是2%。字体块由两部分组成:字体本身占了2/3,缓存区占了1/3。那我们看看乔布斯,都在 iPhone OS 1.0中内置了哪些字体:好像都不太熟,就一个Arial还勉强见过。好,我们快进一下。
可以看到,随着每个新 iOS 版本的发布,构建块的数量都在增加,而组件的数量却在减少。毫无疑问,iOS 14要比 iPhone OS 1.0复杂得多:主体结构仍然与最初的 iPhone OS 1.0版本非常相似: 字体、框架、应用程序、库、/usr都还在。iOS14包含了很多Preinstalled Assets 及Linguistic Data,这些组件用于设备上的机器学习: 语言检测器、声音、标记词、发声器;Dyld 共享缓存是 iPhone OS 3.1中引入的一种缓存机制;在 iOS 14中有如此多的组件,要想看清所有的组件得拿个放大镜了。虽然现在很难列出所有的功能,但是有一些明显的趋势:iOS 14设备上添加了更多的机器学习技术: 人脸检测,深度卷积网络,视觉框架,文本识别,神经网络等等;许多组件与相机和照片有关: 效果,记忆,视频处理,照片库,Siri和语音都清晰可见。以及这些年来增加的一些功能: HomeKit,Watch,CarPlay,Spotlight,Emoji,News,iWork,Wallet,Shortcuts,ARKit..现在字体的大小还不到6%,语言数据几乎占总数的8%, 尽管自 iPhone OS 1.0以来,ICU 的规模增加了3倍以上,但现在大约只占总数的0.5%。为了更好的比较,我们将 iPhone OS 1.0与 iOS 14按一定比例放在一起,你会发现整个 iPhone OS 1.0基本上就只是 iOS 14壁纸的大小: