折叠屏就要来了,适配逼死 Android 开发?

简介:   1.异型屏还没适配好,折叠屏就要来了,Android 的碎片化,让开发者又多掉了不少头发。北京时间 11 月 8 日,三星在旧金山向开发者发布了一款可折叠屏幕手机。

 

 

1.

异型屏还没适配好,折叠屏就要来了,Android 的碎片化,让开发者又多掉了不少头发。

北京时间 11 月 8 日,三星在旧金山向开发者发布了一款可折叠屏幕手机。并表示,新技术需要开发者调整其 App,以确保在手机被摊开成平板电脑时,能够运行流畅。

三星的这款手机,还处于原型机的状态,正式发布日期尚未确定。这种折叠的技术,三星将其称之为 Infinity Flex Display。

 

三星发布的这款手机,实际上拥有两块屏幕,可折叠的 Infinity Flex 显示屏为内屏,而折叠以后的外屏就相对较小一些。

从上面的演示图可以看到,三星只需要处理 App 在两块屏之间切换的问题就好了,三星的理念是在展开后,在小屏中运行的 App 依然在运行当中,并且会自动调整大小以匹配新的布局,展示更多功能,而不仅仅是一个放大的版本。

 

三星还为这款设备,开发了一个名为“多活动窗口”的功能,有点类似于现在的分屏功能。当手机处于展开状态时,用户可以分屏对半运行两到三个 App。

 

分屏这种功能,我的手机上也有,但是我从来没有用过。其一是觉得没有必要,两个应用之间的切换已经够简单了,其次是因为还是追求一种沉浸式的体验。在一段时间内,应该是两种方案并存。不过三星这次发布的只是一款原型机,最终发布的时候,应该还会有调整。

看到这个消息,广大 Android 开发是不是先捏了一把汗,这妥妥的要加重 Android 开发的适配工作。并且这么多厂商,如果各自都出一套自己的方案,这对开发者来说将是噩梦。

在上半年,各大厂商相继推出了刘海屏,赶在 Google 发布 Android 9.0 之前发布的一些手机,各自采用了各自的适配规范,在 Google 官方发布 Android 9.0 中,对刘海屏增加标准 API 支持,市面上已知的方案就有多种。不过还好“刘海”的凹形,大部分占用的是状态栏的部分,适配的难度只能说还好。

2.

不过 Google 也有其应对的策略,在今年的 Android Dev Summit 上,Google 就已经宣布将要对折叠屏提供“Screen Continuity(屏幕连续性)”的原生系统支持,并将这项技术称之为:Foldables。利用这种柔性显示技术,App 可以做到折叠屏设备上的适配工作。

 

其实在很早之前,Google 就已经考虑到 Android 会运行在不同屏幕尺寸的设备上,例如 Android TV、Android Auto、Android Pad、Wear OS 等。这些不同尺寸的设备,在整个 Android 的生态中,都占有不可或缺的地位。

但是你要注意到,通常针对不同的设备,我们会设计出两套完全不同 UI 风格,通常他们会被当成独立的 App 进行发布。但是 Foldables 来了,就完全不一样了,通过折叠屏设备的两种变体效果:双屏设备和单屏设备,当折叠时,它看起来是一部手机,而当它展开时,它就变成了一台平板。他们是一台设备上的双生体,只是偶尔在不同的形态下进行变换。

Android 的碎片化,一直也是 Google 所头疼的。又怎会错过这种定标准的时机。

在硬件厂商创新的同时,Google 为了避免碎片化更严重,率先提出将会对折叠屏技术进行标准规范。并标识已和各大厂商沟通,争取以一个标准化的方式将折叠屏支持,稳定推进。

3.

天塌下来,有高个子的顶着,Google 这次反映算是快的了。任何东西,只要标准化了,就不会太麻烦。

既然 Google 已经表示将要对折叠屏进行支持,我们就先猜想一下,最终会以什么样的形式进行支持。

在我看到折叠屏第一秒的时候,我想到了 Fragment。当初 Fragmet 被推出的一个主要原因,就是想要在大屏幕和小屏幕之间,有更灵活的 UI 设计支持。

 

但是再仔细想想,应该不会是这样的一种模式,还是上面的原因,使用 Fragment 不利于两种屏幕模式的切换。

所以我猜想,应该会是一种类似前端中,Bootstrap 这种响应式框架,对开发来说,可能就是多了一种布局方式,并且应该会是以 Support 包的形式进行扩展支持。

 

也别太担心,这样的适配,从来不是一个人的事儿,设计师和产品也要头疼,对一个页面要做多套效果和功能原型。

4.

折叠屏不管怎么发展,只要还是 Android 的体系内,就还在可控制的范围内。

更多Android进阶技术,面试资料系统整理分享,职业生涯规划,产品,思维,行业观察,谈天说地。可以加Android架构师群;701740775。

相关文章
|
24天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
12 0
|
1月前
|
设计模式 人工智能 开发工具
安卓应用开发:构建未来移动体验
【2月更文挑战第17天】 随着智能手机的普及和移动互联网技术的不断进步,安卓应用开发已成为一个热门领域。本文将深入探讨安卓平台的应用开发流程、关键技术以及未来发展趋势。通过分析安卓系统的架构、开发工具和框架,本文旨在为开发者提供全面的技术指导,帮助他们构建高效、创新的移动应用,以满足不断变化的市场需求。
18 1
|
1天前
|
Android开发
Android RIL 动态切换 4G 模块适配
Android RIL 动态切换 4G 模块适配
4 0
|
2天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
18 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
9天前
|
编解码 人工智能 测试技术
安卓适配性策略:确保应用在不同设备上的兼容性
【4月更文挑战第13天】本文探讨了提升安卓应用兼容性的策略,包括理解平台碎片化、设计响应式UI(使用dp单位,考虑横竖屏)、利用Android SDK的兼容工具(支持库、资源限定符)、编写兼容性代码(运行时权限、设备特性检查)以及优化性能以适应低端设备。适配性是安卓开发的关键,通过这些方法可确保应用在多样化设备上提供一致体验。未来,自动化测试和AI将助力应对设备碎片化挑战。
|
15天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。
|
18天前
|
监控 算法 Android开发
安卓应用开发:打造高效启动流程
【4月更文挑战第5天】 在移动应用的世界中,用户的第一印象至关重要。特别是对于安卓应用而言,启动时间是用户体验的关键指标之一。本文将深入探讨如何优化安卓应用的启动流程,从而减少启动时间,提升用户满意度。我们将从分析应用启动流程的各个阶段入手,提出一系列实用的技术策略,包括代码层面的优化、资源加载的管理以及异步初始化等,帮助开发者构建快速响应的安卓应用。
|
18天前
|
Java Android开发
Android开发之使用OpenGL实现翻书动画
本文讲述了如何使用OpenGL实现更平滑、逼真的电子书翻页动画,以解决传统贝塞尔曲线方法存在的卡顿和阴影问题。作者分享了一个改造后的外国代码示例,提供了从前往后和从后往前的翻页效果动图。文章附带了`GlTurnActivity`的Java代码片段,展示如何加载和显示书籍图片。完整工程代码可在作者的GitHub找到:https://github.com/aqi00/note/tree/master/ExmOpenGL。
19 1
Android开发之使用OpenGL实现翻书动画
|
18天前
|
Android开发 开发者
Android开发之OpenGL的画笔工具GL10
这篇文章简述了OpenGL通过GL10进行三维图形绘制,强调颜色取值范围为0.0到1.0,背景和画笔颜色设置方法;介绍了三维坐标系及与之相关的旋转、平移和缩放操作;最后探讨了坐标矩阵变换,包括设置绘图区域、调整镜头参数和改变观测方位。示例代码展示了如何使用这些方法创建简单的三维立方体。
15 1
Android开发之OpenGL的画笔工具GL10
|
21天前
|
Android开发
Android保存图片到相册(适配android 10以下及以上)
Android保存图片到相册(适配android 10以下及以上)
21 1