三易生活 6小时前
为何安卓的“长截图”质量不高?谷歌总算说出了原因
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

在日常使用手机的过程中,我们有时可能需要分享一些比较 " 长 " 的屏幕截图,比如长文、聊天记录,或是某些软件的完整界面信息等等。

这时候大家首先想到的,显然就会是手机上的 " 长截图 " 功能。按下快捷键或特定的截图手势,然后等待屏幕自动滚动,再在合适的时候停止截图,最终就会得到一张想要的长截图。

可为什么大多数时候,我们在手机上这样操作得到的 " 长截图 ",要么是有明显的拼接缝,要么就是清晰度难以令人满意呢?

是因为软件不支持,还是安卓手机的长截图功能本身就存在 BUG 呢?

其实,这两个原因同时存在。就在不久前,谷歌对还处于测试阶段的 Android 16 QPR3" 原生长截图 " 功能进行了修正。同时谷歌就此也揭开了大部分安卓手机 " 长截图 " 功能不好用,会容易降低画质和出现 BUG 的原因。

首先大家要理解一点,那就是在原生的、或者说谷歌自己的 Android" 原版系统 " 里,它的长截图功能技术原理与大多数手机上厂商 " 魔改系统 " 完全不同。

在原生 Android 系统上开启长截屏,就会看到整个被渲染好的 App 界面

在原生 Android 系统里,假设某个 App 的 " 完整界面 " 相当于三个屏幕的高度。那么当它启动时,应用其实会完整地渲染它的整个界面,只不过用户只能看到当前设备屏幕所对应的 " 那一段 ",超出的高度则相当于是 " 显示在了屏幕外面 "。

这个逻辑有点像当初锤子手机的 " 无限屏 ",也就是 App 的界面可以大于屏幕区域

很显然,这样的渲染逻辑就会产生两个好处和一个缺点。好处是应用上下滚动时几乎不会产生重新渲染导致的撕裂,同时一旦用户需要 " 长截图 ",那么系统就只需要将整个 App 的界面渲染信息 " 复制 " 一份,就能得到完整的、高清的图像。这就避免了大多数手机上 " 滚动长截图 " 时,因为分页拼接而导致的画面出错和清晰度压缩问题。

它唯一的缺点,就是可能会带来更高的内存开销。不过大家都知道,原生 Android 系统本就比较 " 干净 ",所以内存占用问题就相当于被抵消掉了。

事实上,只有严格按照谷歌的官方开发规范,使用原生 Android Webview 引擎进行显示的 App 才能兼容这种 " 渲染模式 "。这也就是为什么会有一些 App 在原生 Android 系统下根本无法进行长截图,是因为它们的开发方式 " 不规范 "。

同时,虽然原生 Android 凭借自身的 " 简约优势 ",能够允许符合规范的 App 使用更多内存来实现 " 屏幕外渲染 ",并以此支撑高清画质、无拼接痕迹的 " 长截图 " 功能。但如果换成国内的那些 " 巨无霸 "App 呢?结果想必大家懂的都懂。

正因如此,在大家日常所能接触到的手机里,几乎无一例外地都抛弃了谷歌倡导的这种本该 BUG 更少、画质更高的 App 渲染和截屏方式,转而用了更 " 老 "、更 " 笨 " 的方案。也就是系统一边自动滚动屏幕,然后一边连续截屏,再一边将这些截屏 " 拼接 " 起来。这种 " 滚动 + 拼接 " 的操作逻辑,正是造成大部分安卓手机 " 长截图 " 画面不正常的根源。

话虽如此,但主流手机厂商又有什么办法呢?毕竟他们既不能强迫软件开发者都 " 按谷歌的规矩来 ",也不可能对用户说," 我们为了长截屏的清晰度,必须牺牲这一功能的兼容性 "。

【本文图片来自网络】

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

谷歌 android 界面 安卓手机 webview
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论