Snapchat 它被“更新”了。 Android 使用 10 年老软件的相机质量

您可能已经注意到照片质量有所提高 Android Snapchat 近几个月的应用程序。 不管你信不信,那是因为 Snapchat 最近才开始使用已有数十年历史的相机 API,比其他任何相机 API 都更古老 Android 电话可用。

API 的基本原理很简单:它们是操作系统提供的工具,允许应用程序使用硬件和其他系统功能。 考虑到这一点,让我解释一下原因 Snapchat 最近可以拍出更好的照片,但距离成为优质相机应用程序还很远 Android。

Camera2:大多数照片应用程序使用的 API

Android 实际上有一个强大的相机 API,允许应用程序在非常深的级别上控制手机的相机。 凭借正确的杠杆 相机2 API 允许应用程序控制手动曝光、ISO、快门速度、对焦,甚至使用手机的相机硬件捕获 RAW 图像等。

Camera2 API 首次亮相于 Android Lollipop,因此任何运行 5.0 或更高版本的手机都将支持它。 自从 Lollipop 近四年前发布以来, 超过82% 来自所有 Android 世界各地的设备都可以利用 Camera2 API 的高级照片功能。

然而, Snapchat 仅在部分手机上支持 Camera2 API。 我们唯一可以确认的设备是这个 Pixel 2、喜欢 Snapchat 使用 Pixel 视觉核心 在此设备中,需要使用 Camera2 API 支持。

相机1:API Snapchat 终于可以使用了

Snap Inc. 的发言人向我们证实, Android Snapchat 该应用程序现在将开始在许多设备上使用 Camera1 API。 这个API 上次更新 2008 年初与 Android API 级别 2,甚至没有以甜点为主题的代号或版本号,因为它是预发布的 Android。

换句话说,相机API Snapchat 目前在大多数设备上使用,并在商业可用之前完成 Android 甚至还有电话。 自 2014 年 6 月以来,它已被弃用(阅读:废弃),因为 Google 希望应用程序使用更新、更强大的 Camera2 API。

在最近带来 Camera1 API 支持的更新之前, Snapchat 为了解决这个问题,我实际上从相机的取景器中截取了屏幕截图,因此不必使用任何屏幕截图 Android 相机 API 根本没有。 这是支持尽可能多的人的有效方法 Android 设备尽可能,但它产生的图像质量是出了名的差。

Snapchat与旧的无 API 收集方法相比 Instagram。

需要明确的是,更新他们的应用程序以使用 Camera1 API 而不是这种旧的解决方法是朝着正确方向迈出的一大步。 这是最近许多用户报告图像质量下降的主要原因。 但颠簸仍然可以更大 Snapchat 决定使用更新的 Camera2 API。

这里一个有趣的方面是,当使用 Camera1 API 时 Snapchat 前置摄像头——许多 Snapchatter 最常使用的摄像头——并没有提供太多好处。 这是因为 Camera1 API 是在大多数手机配备前置摄像头之前编写的,因此它不提供点击对焦或其他自拍摄像头改进。

Camera2 API 存在一些技术限制,这可能是原因 Snapchat 现在决定使用旧的 API。 一些运行 Lollipop 或更高版本的低端手机不完全支持较新的相机 API。 在这些情况下,简单的操作(例如要求打开相机闪光灯)可能会导致应用程序崩溃。 然而, Snapchat 可以通过对其应用程序进行编程以访问不同级别的 Camera2 来规避这些问题:旧版、受限版、完整版或 3 级。

Snapchat 质量有所提高,但仍有很长的路要走

现在 Snapchat 至少使用了Camera1 API,我们决定对其进行测试。 我们安装了旧版本(10.3) Galaxy S6,据我们所知,它在任何设备上都不使用 Camera2 API Snapchat 执行。 我们用10.3版本拍了一张照片,然后更新到了当前版本 Snapchat 版本并再次拍摄相同的图像,以查看最近添加的 Camera1 API 所产生的差异。

忽略曝光水平的细微差异(尽管这是未充分使用相机的副产品),更多地关注细节和清晰度。 新版本还提供了更好的 HDR 平衡。

Snapchat    它被“更新”了。 Android 使用 10 年老软件的相机质量

(1) Snapchat 10.3 没有相机API Galaxy S6。 (2) Snapchat 10.29 使用 Camera1 API Galaxy S6。

然而,我们又用 Instagram 使用 Camera2 API 的应用程序 Galaxy S6。 如果你仔细观察,你会发现 Snapchat 要缩小图像质量差距,仍有许多工作要做。

Snapchat    它被“更新”了。 Android 使用 10 年老软件的相机质量
Snapchat    它被“更新”了。 Android 使用 10 年老软件的相机质量

(1) Snapchat 10.29 使用 Camera1 API Galaxy S6。 (2) Instagram 使用 Camera2 API Galaxy S6。

换句话说,Snapchat 从相机源获取静态图像的旧方法与使用 Camera1 API 的新方法之间存在明显差异。 但它们的图像质量仍然远不及 Instagram 以及其他使用 Camera2 API 的应用程序。

Snapchat    它被“更新”了。 Android 使用 10 年老软件的相机质量

我们出于两个原因再次开始调查此问题。 第一的, 用户报告浮出水面 这 Snapchat 我请求使用细粒度的权限 Android 6.0+型号。 这是朝着正确方向迈出的一步,也是朝着正确方向迈出的另一步 example 从 Snapchat 最后使用 Android 但是,这并不表示支持 Camera2 API。

我们开始研究这个问题的第二个原因是 Snapchat 发起了一项新的广告活动,将自己营销为 一种新型相机。 我们本来希望这意味着她 据说已经改版了 Android 公寓 已完成,图像质量有所提高 Instagram 水平,但是 Snapchat 从最真实的意义上来说,仍然是十年前。