在推进 Material Design 新理念的同时,Google 为自家应用选择的纯白色调主题风格也引来不少诸如「夜间使用伤眼」「对 OLED 不友好」之类的抱怨。此前曾多次在 Android 开发者预览版中出现过、但最终均以「跳票」告终的「暗色主题」或「夜间模式」,也因此再次成为 Android 粉丝圈内的一大热门诉求。

Google 显然也意识到了这一点。事实上,他们不仅在最近召开的 2018 Android 开发者峰会上首次公开承认了 OLED、暗色主题和省电三者之间的关系,相关的功能特性其实也已经开始通过 Android 系统和 Google 自家应用的更新向用户进行推送。

我们不妨来梳理一下。

关于屏幕显示技术

现阶段,市面上主流的屏幕显示技术虽然分为 LCD 和 OLED 两种,但 Android 阵营的中、高端产品近年都在逐步转向 OLED 显示技术,其他平台(比如 iOS)也是如此。

LCD,又称液晶显示技术,工作原理与 OLED 迥异:成像时,拥有多个色彩通道的液态晶体组成成千上万个像素,但这些液态晶体本身并不发光,只有当背光模组发出的白光透射过液态晶体和彩色滤光片后我们才能看见各种各样的色彩。

因此不难理解的是,对 LCD 显示技术而言很大一部分功耗其实都来源于背光模组;一般而言,LCD 的功耗与亮度成正比。

辻村隆俊,《OLED 基础与应用》

OLED 则不同——OLED 主要依靠自发光二极管,无需借助背光模组便能成像。

发光原理上的差别让 OLED 得以借助不发光的方式显示黑色(true black),而 LCD 仍需背光模组持续发光、通过液态晶体和彩色滤光片来显示黑色。

为了方便理解,我们甚至可以假设一种极限的情况,即只显示黑色,那么你会发现采用 LCD 显示技术的屏幕依然有亮度,而采用 OLED 的那块屏幕——点亮和熄灭时其实没什么区别

此外,正是因为这个原因,OLED 还拥有 LCD 难以企及的对比度。

Google 承认 OLED 更省电

由上述原理引申而来的「OLED 显示黑色时更省电」理论几乎人所皆知,也正是基于这个原因,Google 一边在自家 Pixel 手机上全面拥抱 OLED、一边大肆采用白色主题的做法才如此令人不解。好在 Android 社区内愈发强烈的反对呼声让他们意识到了这一点——上周举行的开发者峰会上,Android 工程师 Chris Banes 和 Android 系统框架团队技术主管 Alan Viverette 就分享了 Android 开发团队关于 OLED 显示颜色和省电之间关系的研究成果。

首先,Google 对 OLED 的能耗表现进行了肯定,但 Chris Banes 和 Alan Viverette 对这个理论进行了深入地研究和扩展,他们借助一台 2016 年发布的第一代 Pixel(采用 OLED)和一台 iPhone 7(采用 LCD)进行测试后总结了以下几个结论:

  1. 正常浏览模式下,二者以最高亮度展示一张 Google Maps 截图1 的能耗表现相当,平均电量消耗速度为 240mA
  2. 开启夜间模式后,LCD 在最高亮度下的能耗保持不变,但 OLED 的能耗下降 63%,电量消耗速度仅为 92mA
  3. 第一代 Pixel 在以最高亮度展示单色静态图片的情况下,耗电由少到多依次为黑、红、绿、蓝、白
2016 Pixel 与 iPhone 7 的耗电对比 

其次,为了证明以上结论,Chris Banes 还列举了几个采用暗色主题的 Google 应用在实际使用中的省电效果,比如在暂停播放状态下的 YouTube 应用中,暗色主题下最高亮度的耗电几乎与正常模式(白色背景主题)下 50% 亮度的耗电相当。

Google 自家应用在明/暗主题下的耗电对比

最后,虽然 Android 操作系统中完整的暗色主题模式屡次跳票,但 Google 其实已经为开发者提供了两种的主题设置方法,包括利用 AppCompat 实现明/暗主题手动或自动切换,以及借助 Dynamic theming 实现更多主题样式(如暗色和纯黑)等等。

开发者可借助 Dynamic theming 实现 true black 主题效果

Android 9.0 Pie 上的暗色主题

尤其值得一提的是,虽然上面提到的暗色主题可以与当前 Android 系统中 开发者选项 -> 夜间模式 参数实现关联,但我们目前能够体验到的暗色主题模式,却是与省电模式紧密关联的。

就在本月初 Google 推送的十一月安全更新补丁的同时,Pixel 设备上的 Andorid 9.0 也加入了一个鲜为人知的新特性:开启省电模式时,快速设置面板、联系人、GBoard 和 Google News 都能够自动切换至暗色主题2

依据省电模式状态自动启用/停用的暗色主题

要实现这个效果,联系人应用要求为最新版本(v3.2.4),GBoard 和 Google News 需实现手动开启相关选项,而在 Google News 的设置中我们可以进一步发现,Google 今后将要逐步推进的暗色主题应该会包含四种状态:

  • 总是(Always):需要用户手动开启的常驻状态
  • 自动(Automatically):依据 夜间模式 和 省电模式 状态自动选择明暗主题
  • 仅省电模式(Battery saver only):仅省电模式下使用暗色主题
  • 永不(Never):用户可强制手动关闭暗色主题
Google News 的暗色主题设定选项

目前 Google 已经通过十一月更新在 Pixel 设备上开启了省电模式与暗色主题的联动,至于仍出于 开发者选项 中的 夜间模式 的实际应用效果以及覆盖所有界面(比如设置)的系统级暗色主题何时正式上线,我们不妨拭目以待。

附:已加入暗色主题的 Google 应用 / 服务

  1. Android(部分界面)
  2. Authenticator
  3. Google Contact
  4. GBoard
  5. Gmail(仅 Web 端)
  6. Google Maps(仅导航)
  7. Messages
  8. Google News
  9. Pixel Launcher
  10. Snapseed
  11. YouTube
  12. YouTube TV(仅 Web 端)

关联阅读:Cost of a Pixel Color (Android Dev Summit '18)

(题图来自 The Verge

> 下载 少数派客户端、关注 少数派公众号,了解更多 Android 玩法 📱