正式版 API 确定 | Android 12L Beta 1 发布

正式版 API 确定 | Android 12L Beta 1 发布
www.zeeklog.com  - 正式版 API 确定 | Android 12L Beta 1 发布

作者 / Maru Ahues Bouza, Director, Android Developer Relations

在 10 月份的 Android 开发者峰会上,我们强调了平板电脑、可折叠设备和 Chromebook 等大屏幕设备的增长,以及如何通过新的 Jetpack API、工具和指南,让开发者们更容易为这些设备构建出良好的应用体验。我们还发布了 Android 12L 的开发者预览版,这是一个专为大屏幕设计的 Android 12 功能更新。

Android 开发者峰会

https://developer.android.google.cn/events/dev-summit

Android 适配大屏幕的 3 个重点

https://android-developers.googleblog.com/2021/11/android-developer-summit-21-large-screens.html

Android 12L

https://developer.android.google.cn/12L

通过 12L,我们为大屏幕优化和打磨了系统界面,使多任务处理更加强大和直观,并改善了兼容性支持,让应用在默认情况下也有更好的视觉效果。12L 还为开发者提供了一些新的 API,如空间音频以及改进的拖放操作,以打造更好的大屏幕体验。

今天,我们正式发布 Android 12L 的第一个 Beta 版,供大家对应用进行测试并提交反馈,从而为明年年初发布的功能更新做好准备。您可以在 Android Studio 中设置 Android 模拟器来尝试新的大屏幕功能。Android 12L 也适用于手机,只需注册参与测试,即可在受支持的 Pixel 设备上获取 Android 12L Beta 1。如果您已经参与 Android 12 Beta 测试,则会自动获得 12L 更新。我们与联想合作,让您也可以在联想 Tab P12 Pro 平板电脑上体验 Android 12L,更多关于可用构建和支持的信息,请前往联想官方网站查阅:

https://dev.lenovo.com

获取 Android 12

https://developer.android.google.cn/about/versions/12/get

参与 Beta 版测试

https://www.google.com/android/beta

Android 12L Beta 1 内容一览

今天发布的 Beta 1 版本包含对功能和用户体验的改进,最新的 bug 修复和优化,以及 2021 年 12 月安全补丁。对于开发者来说,我们提早完成了 API,因此 Beta 1 还包含 Android 12L 的正式版 API (API 级别 32),更新的构建工具,以及用于测试的系统映像。您可以用这些来测试应用在 Android 12L 的各种功能中的表现。

在 Android 12L 中,我们专注于完善大屏幕设备上的用户界面,包括通知、快捷设置、锁屏、概览、主屏幕等等。例如,在 600dp 宽度以上的屏幕里,通知栏、锁屏和其他系统界面会采用全新的双列布局,以充分利用屏幕面积。

www.zeeklog.com  - 正式版 API 确定 | Android 12L Beta 1 发布

△ 双列布局可以显示更多内容,更易于使用

多任务处理也更加强大和直观—— Android 12L 在大屏幕上提供了一个新的任务栏,让用户可以随时切换到喜爱的应用,或将应用拖放至分屏模式。请记住,在 Android 12 及以后的版本中,用户可以将任何应用以分屏模式启动,无论该应用是否声明为可以调整大小。所以请务必在分屏模式下测试您的应用!

www.zeeklog.com  - 正式版 API 确定 | Android 12L Beta 1 发布


△ 将应用拖放至分屏模式

在分屏模式下测试您的应用

https://developer.android.google.cn/about/versions/12/12L/summary#what-to-test

最后,通过改进兼容模式的视觉效果和稳定性,我们为用户带来了更好的黑边模式体验,并帮助应用在默认情况下看起来更好。如果您的应用还没有针对大屏幕进行优化,请测试其在新的黑边模式中的表现:

https://developer.android.google.cn/about/versions/12/12L/summary#what-to-test

更多 API 和工具助力大屏幕构建

我们新推出的这些 API 和工具可以在您为大屏幕优化应用时更轻松地为用户打造流畅体验:

适用于大屏幕的 Material 模式 - 新的 Material 设计指南可以帮您在所有尺寸的屏幕上扩展应用界面:

https://m3.material.io/foundations/adaptive-design/overview

支持自适应界面的 Jetpack Compose - Jetpack Compose 可以让您非常轻松地处理不同屏幕尺寸或组件中的界面变化。请通过在 Compose 中构建自适应布局指南了解这方面的基础知识:

https://developer.android.google.cn/jetpack/compose/layouts/adaptive

  • 用于管理用户界面的窗口大小分类 - 窗口大小分类 (Window Size Classes) 是一组按照视窗大小作为分类 (称为 "断点") 的意见性指导,有助于简化设计、开发和测试可调整大小的应用布局。此 API 即将在 Jetpack WindowManager 1.1 中推出。

窗口大小分类

https://developer.android.google.cn/guide/topics/large-screens/support-different-screen-sizes#window_size_classes

WindowManager

https://developer.android.google.cn/jetpack/androidx/releases/window

  • Activity Embedding - 通过 Activity Embedding API,您可以利用大屏幕上的额外显示区域一次显示多个 Activity,从而实现如 "列表-详情" 的布局模式,并且几乎不需要 (或只需少量) 重构应用。此 API 在 Jetpack WindowManager 1.0 Beta 03 及之后的版本中可用。

Activity Embedding API

https://developer.android.google.cn/guide/topics/large-screens/activity-embedding

WindowManager

https://developer.android.google.cn/jetpack/androidx/releases/window

Android Studio 中的视觉 lint 工具 - 在 Android Studio Chipmunk 中提供了新的视觉 lint 工具,它能在布局验证 (Layout Validation) 中主动给出界面方面的警告和建议,以帮助您识别大屏幕布局中的潜在问题:

https://developer.android.google.cn/studio/preview

  • 可调整尺寸的模拟器 - 这是随 Android Studio Chipmunk 一同推出的全新模拟器配置,让您可以在四个参考设备 (手机、可折叠设备、平板电脑和台式机) 之间快速切换,以便于测试。

请务必查看我们准备的大屏幕开发者资源,以了解这些以及更多 API 和工具的详细信息:

https://developer.android.google.cn/about/versions/12/12L#optimize-for-large-screens

在设备上开始体验 Android 12L!

Android 12L 功能更新将在明年初正式发布,现在是时候开始为大屏幕优化自己的应用了。对于开发者来说,我们强烈建议检查您的应用在各种尺寸窗口分屏模式下的工作情况。如果您还没有优化应用,请查看一下它在不同屏幕朝向中的视觉效果,并尝试一下新的兼容模式 (如果适用的话)。

想要开始使用大屏幕功能,最简单的方法就是使用 Android 模拟器的可折叠设备或平板电脑设置,请参阅完整设置说明:

https://developer.android.google.cn/about/versions/12/12L/get

您也可以将 Android 12L 刷入大屏幕实体设备中。我们与联想合作,让您可以在联想 Tab P12 Pro 上体验 Android 12L 的预览版本。目前,联想提供的是开发者预览版 1,未来几周内会有更新。请访问联想的 Android 12L 预览网站了解关于可用版本和支持的完整信息:

https://dev.lenovo.com/

Android 12L 也将运行在手机中。虽然大屏幕功能不会出现在小屏幕设备中,但我们也欢迎您体验这一功能更新的最新改进。只需用受支持的 Pixel 设备完成注册,就可以通过 OTA 更新获得最新的 Android 12L Beta 版。如果您已经参与 Android 12 Beta 测试,则会自动获得 12L 更新。

参与 Beta 版测试

https://www.google.com/android/beta

有关 Android 12L 的更多细节和发布时间表,请访问 Android 12L 开发者网站。别忘了提交问题和需求,我们一如既往地感谢来自大家的反馈意见!

Android 12L 开发者网站

https://developer.android.google.cn/about/versions/12/12L

提交反馈

https://developer.android.google.cn/about/versions/12/12L/feedback

您也可以通过下方二维码向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!

www.zeeklog.com  - 正式版 API 确定 | Android 12L Beta 1 发布

推荐阅读

如页面未加载,请刷新重试

www.zeeklog.com  - 正式版 API 确定 | Android 12L Beta 1 发布

即刻体验 Android 12L 的最新特性!点击 | 阅读原文 | 分享您的使用反馈


www.zeeklog.com  - 正式版 API 确定 | Android 12L Beta 1 发布
www.zeeklog.com  - 正式版 API 确定 | Android 12L Beta 1 发布
www.zeeklog.com  - 正式版 API 确定 | Android 12L Beta 1 发布

Read more

深入理解 Proxy 和 Object.defineProperty

在JavaScript中,对象是一种核心的数据结构,而对对象的操作也是开发中经常遇到的任务。在这个过程中,我们经常会使用到两个重要的特性:Proxy和Object.defineProperty。这两者都允许我们在对象上进行拦截和自定义操作,但它们在实现方式、应用场景和灵活性等方面存在一些显著的区别。本文将深入比较Proxy和Object.defineProperty,包括它们的基本概念、使用示例以及适用场景,以帮助读者更好地理解和运用这两个特性。 1. Object.defineProperty 1.1 基本概念 Object.defineProperty 是 ECMAScript 5 引入的一个方法,用于直接在对象上定义新属性或修改已有属性。它的基本语法如下: javascript 代码解读复制代码Object.defineProperty(obj, prop, descriptor); 其中,obj是目标对象,prop是要定义或修改的属性名,descriptor是一个描述符对象,用于定义属性的特性。 1.2 使用示例 javascript 代码解读复制代码//

By Ne0inhk

Proxy 和 Object.defineProperty 的区别

Proxy 和 Object.defineProperty 是 JavaScript 中两个不同的特性,它们的作用也不完全相同。 Object.defineProperty 允许你在一个对象上定义一个新属性或者修改一个已有属性。通过这个方法你可以精确地定义属性的特征,比如它是否可写、可枚举、可配置等。该方法的使用场景通常是需要在一个对象上创建一个属性,然后控制这个属性的行为。 Proxy 也可以用来代理一个对象,但是相比于 Object.defineProperty,它提供了更加强大的功能。使用 Proxy 可以截获并重定义对象的基本操作,比如访问属性、赋值、函数调用等等。在这些操作被执行之前,可以通过拦截器函数对这些操作进行拦截和修改。因此,通过 Proxy,你可以完全重写一个对象的默认行为。该方法的使用场景通常是需要对一个对象的行为进行定制化,或者需要在对象上添加额外的功能。 对比 以下是 Proxy 和 Object.defineProperty 的一些区别对比: 方面ProxyObject.defineProperty语法使用 new Proxy(target,

By Ne0inhk