Android设备里的那些事儿|硬核科普

3,441 阅读12分钟

前言

之前有一位小伙伴要了解 Android 设备,找到我,问了我一连串问题:

“听说你是Android开发,LCD 和 OLED 屏有什么区别?”

“LPDDR5 是什么,可以解释一下?”

“UFS 3.1 又是什么,它有什么帮助吗?”

我:

“这个问题很好,下次不许问了”

好家伙,一连串的问题,直接给我问傻了。

相信大家在了解 Android 设备的时候,也会遇到这样的情况。接下来我们就好好聊聊这些知识~

一、屏幕

屏幕里有很多词儿需要了解,比如 LCD 和 OLED、高刷、以及去年大火的 LTPO 技术。

不过在了解屏幕中的专业名词之前,我们先聊聊基本知识。

1. 分辨率

我们都知道,屏幕中展示的内容是一个个像素点组成的,这些像素点极小,肉眼可分辨不出来。

就像这样:

image.png

比如我的手机的分辨率是 2376 * 1080,它代表手机的场边可以存放 2376 个像素点,短边可以存放 1080 个像素点。

大家买手机常常念叨的 2K 屏,一般是这样划分的:

  • 720P:1280 * 720
  • 1K屏:1920 * 1080
  • 2K屏:2560 * 1440

一些厂商在宣传手机屏幕的时候,通常还有这样一个词 PPI,这又是什么呢?

PPI 代表着每英寸像素值,计算方式如下:

计算公式

还是以我的手机为例,我的手机分辨是 2376 * 1080,屏幕尺寸是 6.57 英尺。

计算公式就是:(2376^2 + 1080^2)的结果开根号,再除以 6.57,结果就是 397。

不少 Android 开发小伙伴看到分辨率的时候总是很头疼,因为 Android 碎片化的问题很严重,总有太多的分辨率需要适配。

2. LCD和OLED

这些年高端机型都用上了 OLED 屏,是不是就意味 OLED 屏就跟好了呢?

2.1 展示原理

要了解这两屏幕的区别,首先得了光学三原色,三个颜色分别是红色、绿色和蓝色,通过配置不同的比列,就能形成不同的颜色。

屏幕中的每一个像素点,都是由三个子像素点组成的,就像这样:

像素的组成

虽然都用了这种方法,但是 LCD 和 OLED 的原理却大不相同,往简单了说,LCD 是背光源,OLED 是自发光。

掏出他们两的设计图:

设计原理

LCD 背部发出的都是清一色的白光,经过红绿蓝颜色薄膜,从而得到三原色。假设我们不做处理,红绿蓝三个颜色一综合,得到的还是实实在在的白色,所以,中间层得加一层开关,这就是所谓的液晶部分,可以改变开合程度,改变光的射出强弱,从而让三种颜色组成不同的光。

OLED 的原理就简单了,相当于自带能够控制光强度的红绿蓝的小灯泡。

所以,对于 LCD 来说,即使屏幕全黑,背部也需要发光,这也是大家常常说的漏光。

再聊聊它们像素排列方式的区别:

像素排列方式

LCD 一般采用 RGB 的排列方式(左图),而 OLED 一般采用 Pentile 排列(右图),这也就导致了同等大小的情况下 OLED 屏幕像素点低的问题,所以就会有这句话:

无2K(2560X1440),不A屏(AMOLED屏幕)

2.2 各自优缺点

OLED 与 LCD 相比:

  • 优点:更薄、可以用作柔性屏、色彩更鲜艳、可单独点亮更省电、屏幕响应快
  • 缺点:容易烧屏、频闪、像素密度

想要更详细的了解它们之间的区别,可以看:

《OLED 和 LCD 有什么区别?》

3. 屏幕刷新频率

貌似是从前年开始,各大厂商都推出了 120 HZ 的高刷手机。

120 HZ 代表着,一秒钟屏幕可以绘制 120 帧的画面,如果用看到画面描述,是这样的:

高刷对比

记得同事刚用上高刷手机的时候,就说出了这样一句话:用了高刷手机以后,回不去了!

不过更高的刷新帧率意味着更高的能耗。

于是,从 2021 年开始,各大厂商又推出了 LTPO 技术。

LTPO 的全称是 Low Temperature Polycrystalline Oxide,中文的字面意思低温多晶氧化物。

往简单了说,它可以动态的改变屏幕的刷新帧率。

比如,我们在看小说的情况下,不需要 120 HZ 的高刷,于是,手机会将帧率设置成 30 HZ,而在玩游戏的情况下,高刷就会被我们需要,手机又会将帧率改成 120 HZ,当然,也得这个游戏支持高刷,这样的一增一减,就可以降低能耗,提升续航。

更详细的知识可以前往:

《LTPO技术科普:手机屏幕的下一个行业标杆》

二、运行内存RAM

RAM 指的是运行内存,近些年,Android 手机的运行内存基本上 8GB 起步,高一点的运行内存甚至达到了 16 GB。

关于 RAM,大家最常听见的就是 LPDDR,厂商在宣传 LPDDR5 的时候可没少下功夫:

看一下 LPDDR 的族谱:

LPDDR

DRAM 是内存存储数据的一种方式,它通过给电容充电,计算电容差,从而转化成二进制,但是电容存在漏电的情况,所以需要周期性的充电,所以这里的 D 指的 dynamic,动态的。

CPU 的频率一般是以 GHZ 为单位,比如最新的骁龙8 Gen1 是最大的一核频率在 3.0 GHZ。

而运行内存的工作频率还在 MHZ 单位,于是 CPU 和运行内存达成了共识,在指定的周期,CPU 一定可以拿到数据,无需等待,所以 SDRAM 里的 S 是 synchronous,同步的意思。

DDR 其实应该叫做 DDR SDRAM,把后面的 SDRAM 给省略了,DDR 是 Double Date Rate 的缩写,意思是双倍速率:

数据效率

以前一个时钟周期内,只做一次数据存取,现在可以在上升沿和下降沿做了两次存取,妥妥的效率提升了。

最后就是本文要介绍的 LPDDR,它的 LP 是 Low Power 的意思,低功耗,所以它的全称是 Low Power Double Data Rate SDRAM,是JEDEC固态技术协会面向低功耗内存而制定的标准。

LPDDR 功耗小,体积小,天生就适合移动设备,最后了解一下 LPDDR 的参数:

LPDDR

2021年11月份,一些公司已经研制出最新的 LPDDR5X DRAM,速度提升 30%,功耗降低 20%。

三、存储内存ROM

ROM 称为只读存储器,跟 RAM 不一样,不会因为电源关闭而导致数据消失。 而且它就是购买手机的时候标注的 32G\64G\128G 等的那串数字,它决定着我们的手机可以存储多少视频和游戏。

还记得当年网络的调侃,鲁迅说过,买手机不要买 16G 存储空间的手机!

1. ROM的分类

虽然 ROM 是只读存储器,只能读出无法写入信息,就跟 Android 设备中存储系统的那块区域我们是永远无法修改删除的一样的道理,但是为了方便用户生产和使用,又出现了:

  • 可编程只读器(PROM)
  • 可擦可编程只读器(EPROM)
  • 带电可擦可编程只读存储器(EEPROM)等不同的种类

移动设备中使用的 ROM 是快闪存储器(flash memory),它的定义是:

快闪存储器是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。

闪存是一种特殊的、以宏块抹写的EEPROM。它的成本低、数据不易丢失、可靠性强,所以被移动设备广泛采用。

2. UFS和eMMC

厂商介绍手机的时候,也常常有 UFS 3.1,它又是什么呢?

闪存下常见的分类有 SSD、eMMC 和 UFS。

SSD 不用说,是用在 PC 上的,记得上大学那会儿,把笔记本中的机械硬盘换成了 SSD,电脑就跟新生了一样,打撸啊撸都能多赢几把。

而 eMMC 和 UFS 是针对移动设备的,他们的特点是:体积小、功耗低、性能适中,近些年来,很多手机都推出了 1TB 大容量的手机,大有赶超 PC 的意思。

最近的几年的手机都采用了 UFS,舍弃了 eMMC,因为 UFS 采用了接口串行化,提高了传输频率,看一下 UFS 的参数:

UFS

而 eMMC 的带宽只有 400 MB/S,所以,抛弃 eMMC 是不可以避免的。

更详细的信息在:

《UFS 3.1 是如何让 App 启动、加载速度更快的?》
《浅谈 SSD,eMMC,UFS》

3. 文件系统

我们在 Android 中学习 IO 调用链路的时候:

IO调用链路

常常看到文件系统这个词,VFS 提供给应用程序统一的文件接口,具体的实现交给了文件系统。

如今主流的文件系统有 ext4 和 F2FS,比如我的 Android 手机:

我的手机

我的手机内部存储器使用的 f2fs,系统存储器使用的 ext4。

对于 App 来说,随机 I/O 的场景更加频繁,所以用在应用层级的内部存储更加合适。但同等条件下,f2fs 占用的存储空间更高,大约是 ext4 的1.1到1.5之间,并且连续读写大文件的性能没有 ext4 强,所以系统存储器选择了 ext4。

四、处理器

处理器就是手机的大脑,我们买的 Android 中常见的处理器有高通骁龙系列、联发科的天玑系列、华为的麒麟系列和三星的 Exynos 系列。

通常,在 PC 上,处理器就是指 CPU,比如酷睿 i7-12700。

移动设备中的处理器可不一样,考虑到体积和功耗,使用高集成度的 SoC(System on Chip),一个处理器将系统关键部分都集中在一个芯片上。

1. SoC集成了哪些东西

麻雀虽小,五脏俱全,说的就是SoC, 它是一个微小系统:

  • 中央处理器(CPU)
  • 图形处理单元(GPU)
  • 图像处理单元(ISP)
  • 数字型号处理器(DSP)
  • 神经处理单元(NPU)
  • 调节解调器(Modem)
  • 等功能模块

看一下最新的某芯片的 SoC 布局:

image.png

很多重要的部件已经标注出来了。

通过 SoC 集成,可以最大限度的节省主板布局,帮助设备瘦身,提升IP单元的交流速度,还能显著降低整体功耗。

2. 制程工艺

移动设备中的 SoC 是从一整块的晶圆中切割而出,如果它的制程工艺越先进,意味着可以解锁更高主频、发热量更低、功耗更低、不易降频,运行更强更稳定!

所以啊,厂家在介绍芯片,一定会介绍他们采用的是 xxnm 的工艺。

比如上面的芯片采用的是三星 4nm 的工艺,而联发科的天玑 9000 采用的是台积电的 4nm 工艺,虽然同为 4nm,但是台积电的 4nm 工艺更强一点。

3. CPU

CPU 是 SoC 中最关键的核心单元之一,它决定着手机的性能。

还拿上面的处理器来说,它是八核处理器:

处理器架构

包括:

  • 1 个 3.0GHz Cortex-X2 大核心
  • 3 个 2.5GHz Cortex-A710 中核新
  • 4 个 1.8GHz Cortex-A510 小核心

事实证明,SoC 全速运行的时候(打游戏)非常容易发热导致降频,所以这种大中小核的思路才会适应当今的潮流。

除了 CPU 的布局,我们还需要了解简单的架构知识。

我们在写 Android 程序的时候,常常需要去兼容不同架构的 CPU,比如常见的 armeabi (ARM v5)、armeabi-v7a (ARM v7)、 arm64-v8a (ARM v8) 和 x86 等架构。

以 arm 开头的是 arm 架构,移动设备一般会选用这个架构;PC 端的 CPU 大部分是 x86 架构,很早以前也出现过手机上。

简单来说:

  • arm 架构处理器源于 RISC(精简指令集),通过对常用的命令进行优化,赋予它更简洁和高效的执行环境。RISC 将复杂度交给了编译器,牺牲了程序大小和指令带宽,从而换取了简单和低功耗的硬件实现。
  • x86 架构对应的 CISC(复杂指令集),以增加处理器本身复杂度作为代价,换取更高的性能。

所以说,低功耗和高效率的 arm 架构显然更适合移动设备,值得一提的是,去年苹果发布的用在电脑上的 m1 芯片也是基于的 arm 架构。

4. GPU

GPU 对应着移动设备的显卡,一款手机能支持多高的分辨率、刷新率、玩游戏能跑出多少帧数,几乎都需要看GPU的脸色。它会提供很多图形渲染的接口给游戏和应用,比如常见的 openGL。

常用的 GPU 有高通的 Adreno 系列 和 Arm 公司的 Mail 系列。

更多关于处理器的知识,可以阅读:

《硬核科普!为啥说SoC的性能取决于架构和工艺?》

总结

即使是应用层级的开发工程师,阅读相关文档的时候,也不可避免的遇到硬件的相关知识。

拿捏

所以,学习简单的硬件知识还是有点必要的。

因为硬件知识了解不多,本文难免会有纰漏,欢迎指正!

如果觉得本文不错,「三连」是对作者最好的支持!!!