最近公司的 Android 设备准备进行硬件升级,谈及屏幕时,大家对于相关的一些知识点具有不同的认知。因此我搜集了互联网上关于 Android 手机屏幕的相关资料,总结、记录、分享于此。

分辨率

屏幕尺寸

  • 屏幕尺寸指屏幕对角线的长度,单位:英寸

  • 1 英寸 = 2.54 厘米

屏幕比例

  • 屏幕比例为手机屏幕的纵横比(高宽比)

  • 屏幕比例值等于分辨率比例值,即 16 / 9 = 2560 / 1440

  • 当今智能手机主流屏幕比例为 16 : 9 约等于 1.7777777778

  • 也有非主流的:

    屏幕比例 代表产品
    1 : 1 黑莓 Passport、Motorola ME511
    1 : 1 圆屏 Motorola Aura R1
    4 : 3 LG Optimus Vu
    3 : 2 iPhone4S
    15 : 9 魅族 MX3
    2 : 1 酷派 9930、坚果 Pro2
  • 屏幕尺寸相同的前提下:屏幕比例越大,屏幕越瘦越高,可视面积越小;反之越矮越胖越大

分辨率

  • 分辨率指屏幕在纵横向上的像素点数,单位 px,1px = 1 个像素点

  • 2560 * 1440 的屏幕即纵向有 2560 个像素点,横向有 1440 个像素点

  • 智能手机历史上的主流标准有:

    电脑标准 分辨率 比例 代表产品
    HVGA 480 * 320 3 : 2 三星 S5830
    WVGA 800 * 480 5 : 3 中兴 V880
    qHD 960 * 540 16 : 9 Moto XT910
    HD 1280 * 720 16 : 9 小米 2S
    Full HD 1920 * 1080 16 : 9 Moto X2
    WQHD 2560 * 1440 16 : 9 Nexus 6
    QFHD 3840 * 2160 16 : 9 Xperia Z5 Premium

像素密度

  • 像素密度指屏幕每英寸上的像素点数

  • 像素密度单位为:dpi 或 ppi,两者基本可以通用

  • dpi 即 dots per inch,用于打印或印刷领域,为描述打印物上每英寸上点的密度

  • ppi 即 pixels per inch,用于电脑显示领域,用于描述屏幕上每英寸上像素点的数量

  • 手机屏幕宽度(以英寸为单位) * ppi = 手机屏幕宽度上的像素点数

  • 如 Nexus6 的 2.92(inch) * 493(ppi) = 1440(px)

Android 中常见的像素密度

名称 范围 对应比例
mdpi 120dpi - 160dpi 1
hdpi 160dpi - 240dpi 1.5
xhdpi 240dpi - 320dpi 2
xxhdpi 320dpi - 480dpi 3
xxxhdpi 480dpi - 640dpi 4

屏幕适配

屏幕适配包括:

  • 支持不同的屏幕密度

  • 支持不同的屏幕尺寸

支持不同的屏幕密度

密度无关像素(dp、dip、sp)

  • dp 是 Density Independent Pixels 的缩写

  • Android 中,以 160dpi 为基准,1dp = 1px

  • 如果像素密度为 320dpi,此时 1dp = 2px

  • sp 即 Scale Independent Pixels,与 dp 类似,用于设置字体

如上图所示,屏幕尺寸大小相同,分辨率不同时:

  • 左图:1dp = 1.5px,屏幕宽度为 540px,即 360dp

  • 右图:1dp = 3px,屏幕宽度为 1080px,即 360dp

  • 所以使用 dp 作为单位进行适配,在两种分辨率下显示效果完全相同

支持不同的屏幕尺寸

由上图可以看到,不同尺寸的屏幕:

  • 图一和图二:分辨率相同时,横向上的长度切换为 dp 后是不同的

  • 图一和图三:dpi 相同时,横向上的长度切换为 dp 后仍然不同

  • 即画一条 360 dp 长度的线,在图一上会占满整个宽,在图二或图三只会占 1/2

  • 所以我们需要对不同尺寸的屏幕进行适配,对于尺寸相差较大时应提供不同的布局

适配规则

  • 使用 “wrap_content” 和 “match_parent”

  • 使用 ConstraintLayout

  • 使用尺寸限定符、最小宽度限定符、屏幕方向限定符

  • 使用点 9 图

颜色模式

16 位色、24 位色、32 位色

  • 屏幕上所展示的图片由像素点组成,每一个像素点只能表达一种颜色

  • 所有的颜色都是由红、绿、蓝三种颜色合成的,红绿蓝称为:三基色

  • 色彩深度包括:

    色彩深度 颜色数量 名称
    1 位 2 种 黑白
    8 位 256 种 灰阶
    15/16 位 32768/65536 种 高彩
    24 位 16677216 种 真彩
    30/36/48 位 16677216 种 全彩

24 位色

  • 由纯色到逐渐降低饱和度,红色有 2 ^ 8 = 256 种红色。也称 8 位色,因为用二进制描述需要 00000000 - 11111111,共需 8 位二进制来描述

  • 存储时红色的信息需要 8 位 即 1 个字节来存储

  • 绿色、蓝色一样

  • 三种颜色混合后总共可以得到 2 ^ 8 2 ^ 8 2 ^ 8 = 2 ^ 24 = 16777216 种颜色,即 24 位色

  • 24 位色,又叫真彩色

16 位色

  • 16 位色拥有 2 ^ 16 = 65536 种颜色

  • 红色、蓝色各占 5 位,绿色占 6 位,因为人眼对绿色分辨的色调更精确

  • 即有 32 种红色、32 种蓝色、64 种绿色

  • 某些情况下三种颜色各占 5 位、剩下的 1 位不用,即为 15 位色

32 位色

  • 实际就是 24 位色模式

  • 剩余的 8 位不分配到像素中,这种模式是为了提高数据传输速度

  • 一些特殊情况下,如 DirectX、OpenGL 环境,剩余的 8 位用来描述像素的透明度(Alpha)

屏幕色数

  • 智能手机历史上主流屏幕色数:

    • 6 万色屏幕可以显示 65536 种不同的颜色

    • 1600 万色屏幕可以显示 16777216 种颜色

Android 支持的颜色模式

颜色模式 描述 一个像素点占用空间 备注
ARGB8888 四通道高精度(32位) 4 字节 加载图片的默认模式,色彩丰富。但占用空间较大
ARGB4444 四通道低精度(16位) 2 字节 在 Api 13 后被废弃,建议使用 ARGB8888。从 Api 19 开始,使用此种模式会被 ARGB8888 替代
RGB565 三通道(16位) 2 字节
Alpha8 仅有透明通道(8位) 1 字节
  • 由表可以看出,屏幕默认模式为 RGB565,即为 16 位色模式

  • 我们常用的是 ARGB8888 和 ARGB4444 模式

  • 由于屏幕是不透明的,所以显示在屏幕上的颜色可以认为是没有 Alpha 通道的

  • Alpha 通道主要用于两种颜色进行混合时使用,如上层颜色和下层颜色叠加时

屏幕材质

目前主流手机屏幕材质分为两种:LCD 和 OLED。两者最大区别为:

  • LCD 屏幕通过外部光源照亮

  • OLED 屏幕像素自发光(通过有机材料)

关于 LCD 和 OLED 的详细对比可以参考这篇文章:

为什么 iPhone X 选择用 OLED 屏幕?

LCD 屏幕

屏幕材质 相关信息 主要使用案例
TFT 比较老的一种屏幕材质 Motorola Defy+
IPS 俗称“Super TFT”,实质还是 TFT,显示通透、亮丽,可视角度大 iPhone 系列
SLCD(SuperLCD) LCD 屏幕的高级进阶,色彩还原真实 HTC 系列

OLED 屏幕

目前主流的 AMOLED 屏幕属于 OLED 屏幕的一个分支,技术掌握在三星手中。

屏幕材质 相关信息 主要使用案例
AMOLED 三星第一代 AMOLED 屏幕 Nokia N86、N8
Super AMOLED 三星第二代 AMOLED 屏幕,色彩饱和度高,显示艳丽。之后还延伸出 Super AMOLED Advanced 和 HD Super AMOLED 三星盖世系列
Super AMOLED PLUS 三星第三代 AMOLED 屏幕,由 Pentile 排列方式改为传统的 RGB 排列方式 三星 I9100

参考文档

Android 官方文档:面向多种屏幕的设计

Android屏幕适配全攻略(最权威的官方适配指导)

WikiPedia:显示分辨率列表

DPI和PPI如何换算?:屏幕分辨率那些事儿

16位色、24位色、真彩色、32位色的概念

雷锋科普:主流手机屏幕材质有哪些?

Android 手机屏幕那些事儿相关推荐

  1. android 使用asm.jar将android手机屏幕投影到电脑上

    使用asm.jar将Android手机屏幕投影到电脑 有时候可能需要将手机上的一些操作投影出来,比如一些App Demo的展示等.其实,有专门的硬件设备能干这件事儿,但没必要专门为展示个Demo去花钱 ...

  2. android分辨率选择,安卓Android手机屏幕壁纸分辨率选择技巧

    大家先看看对应的壁纸分辨率: 屏幕分辨率为 480×320 的Android手机,对应的壁纸分辨率为:640x480. 屏幕分辨率为 800×480 的Android手机,对应的壁纸分辨率为:960x ...

  3. android壁纸和手机屏幕之间要怎么对应,安卓Android手机屏幕壁纸分辨率选择技巧...

    安卓Android手机屏幕壁纸分辨率选择技巧 现在使用安卓手机的人好多了,一个好的手机壁纸自然是大家的追求,那么要怎么挑选适合自己安卓手机的手机壁纸呢~登博教程小编来教你挑选吧~ 大家先看看对应的壁纸 ...

  4. android手机屏幕总是闪烁,手机屏幕闪烁是什么原因

    手机屏幕闪烁会严重影响到我们对手机的使用,那么在遇到这种情况的时候我们应该怎么解决呢?下面是小编精心为你整理的手机屏幕闪烁的原因,一起来看看. 手机屏幕闪烁的原因 其实很多时候是由于静电造成的,我们可 ...

  5. 修复Android手机屏幕的5种简单方法是黑色的

    作为Android用户,您是否遇到过以下情况: Android 设备的通知指示灯持续闪烁,但设备没有响应. 手机屏幕经常冻结. Android手机经常重新启动或崩溃. 安卓手机电池消耗得非常快. 您的 ...

  6. Vysor 在电脑上控制android手机屏幕 镜像

    Vysor 在电脑上控制android手机屏幕 镜像 Vysor是一款Chome浏览器的插件,首先你要去装个Google Chrome,接下来简单装一下Vysor Chrome Extensions插 ...

  7. Android开发——Android手机屏幕适配方案总结

    0. 前言 Android的屏幕适配,即使得某一元素在Android不同尺寸.不同分辨率的手机上具备相同的显示效果,这个问题一直以来都是我们Android开发者不得不面对的问题.本文参考了很多前人的博 ...

  8. Android手机屏幕RTMP推流工具

    Android手机屏幕RTMP推流工具是基于ffmpeg+opencv开发的C++(eclipse.androidstudio)程序,是一款可以将安卓手机屏幕上的任何内容推送到任意一款rtmp服务器上 ...

  9. Unity3D Android手机屏幕分辨率问题

    Android手机屏幕分辨率五花八门,导致开发时不好把握,还好各个引擎对这个屏幕分辨率问题都有较好的处理方式:unity3D 也为我们提供了一个不错的解决方案. 在Unity3D 进行 android ...

最新文章

  1. 【管理心得之一】不要用“可有可无”的事,挑战他人对这件事的原则和底线...
  2. salt-api https证书报错解决方法
  3. 前端知识点总结—-响应式
  4. eclipse 3.6的VE配置 Visual Editor for eclipse3.6
  5. vue2.0 练习项目-外卖APP(2)
  6. delphi if多个条件_屡试不爽!使用策略模式代替多个if条件语句
  7. 两则爵士鼓的基础练习
  8. python连接sql数据库_python连接sql server数据库实现增删改查
  9. 《算法导论》学习笔记——快速排序
  10. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 03课
  11. centos-5.5安装vmvare tools
  12. GraphLite 实现子图匹配
  13. Linux桌面版横评:九、Mandriva Linux 2007 Spring One
  14. nginx学习-负载均衡-keepalived高可用-反向代理
  15. 防止iOS自动识别数字为电话号码
  16. 三星电视618钜惠火热进行中,6月2日总裁直播惊喜“价”到
  17. 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。 该校验的过程:1、从卡号最后一位数字开始,逆
  18. 考驾照--驾驶证考试
  19. NEXTCHIP概述-2
  20. 点、圆、圆柱类的设计

热门文章

  1. Google Play对游戏成就系统的要求和建议
  2. outlook2007设置自动接收邮件间隔时间
  3. GridView控件数据绑定
  4. linux不清楚软件包名字,技术|Shilpa Nair 分享的 RedHat Linux 包管理方面的面试经验...
  5. 在回收站删除的文件怎么恢复
  6. 燃气管道泄漏监测报警系统软件
  7. Optional 使用方法详解
  8. 关于CommandTimeOut
  9. mysql-proxy做mysql代理连接阿里云服务器
  10. 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例37