丰富多彩 | Android 14 Beta 2 发布

news2024/12/23 17:22:08

作者 / Dave Burke, VP of Engineering

Google I/O 的大幕已经b535b05023fcf3104d519dabd216c2f8.png拉开,我们也为大家带来了 Android 14 的第二个 Beta 版。我们在 Google I/O 上为大家准备了许多精彩的演讲,包括对 Android 14 许多新功能的详细介绍。这次发布的 Beta 2 聚焦相机和媒体、隐私和安全、系统界面以及开发者生产力方面的改进。我们还在继续完善大屏设备上的体验,并首次在指定合作伙伴的手机、平板电脑和可折叠设备上提供 Android 14 Beta 版测试计划。 

  • Google I/O
    https://io.google/2023/

  • Android 精彩演讲
    https://io.google/2023/program/?q=android,mobile

每一年 Android 都会带来改进和新的功能,在这一路的进化过程中,大家在 Android Beta 版测试计划中提交的反馈至关重要。我们在 Android 14 开发者网站提供了更多关于本次 Beta 版的信息,包括如何使用 Pixel 设备获取 Beta 版以及发布时间表等。非常期待听到大家的想法,在这里我们提前感谢大家,是大家的持续支持,让 Android 能成为属于每一个人的平台!

  • 参与 Beta 版测试
    https://www.google.com/android/beta

  • Android 14 开发者网站
    https://developer.android.google.cn/about/versions/14

  • 获取 Google Pixel 系统映像
    https://developer.android.google.cn/about/versions/14/download

  • 发布时间表
    https://developer.android.google.cn/about/versions/14/overview#timeline

  • 提交反馈
    https://developer.android.google.cn/about/versions/14/feedback

6a39cd64e5d2f999ba8382db968b92b3.png

现已支持更多设备

eafc008fbffd83786fe02a98b7f78b62.png

现在您可以在我们合作伙伴的设备上体验 Android 14 Beta 版,他们包括 iQOO、联想、Nothing、一加、OPPO、realme、TECNO、vivo 和小米。

  • 合作伙伴的设备
    https://developer.android.google.cn/about/versions/14/devices

7dbc02e373c004c924e3f62f61990550.png

高质量相机和媒体体验

Android 设备以高品质的相机而闻名。去年的 Android 13 已经带来了诸多这方面的提升,比如支持录制生动的高动态范围 (HDR,能支持数十亿种颜色) 视频,通过相机扩展来帮助设备厂商们提供诸如夜间模式和散景 (bokeh) 等功能,以及为相机数据流用例提供优化,等等。Android 14 则在这些提升的基础上更进一步。

超强 HDR (Ultra HDR) 图片

dc0d0dc962705a3c25b8067be350e924.png

Android 现在支持 10 位高动态范围 (HDR) 图像,从而得以更多地保留拍摄照片时传感器捕捉到的信息,带来更鲜艳的色彩和更高的对比度。而且 Android 使用的超强 HDR 格式完全向后兼容 JPEG,应用可以无缝使用 HDR 图像,根据需要使用标准动态范围来呈现它们。您只需在应用中指定其 Activity 窗口使用 HDR 界面功能,比如通过应用清单设置或在运行时调用 Window.setColorMode,框架便会自动将界面中的这些图像以 HDR 来呈现。

  • 超强 HDR 图像格式 v0.9.1
    https://developer.android.google.cn/guide/topics/media/hdr-image-format

  • 以广色域模式显示 Activity
    https://developer.android.google.cn/guide/topics/manifest/activity-element#colormode

  • Window.setColorMode
    https://developer.android.google.cn/reference/android/view/Window#setColorMode%28int%29

您还可以在支持的设备上拍摄 10 位压缩静态图像。由于从传感器中保留了更多的颜色,后期编辑时可以更加灵活。您还可以使用与超强 HDR 图像关联的 Gainmap 在 OpenGL 或 Vulkan 中渲染图像。

  • JPEG_R 格式
    https://developer.android.google.cn/reference/android/graphics/ImageFormat#JPEG_R

  • Gainmap
    https://developer.android.google.cn/reference/android/graphics/Gainmap

5b4e1ff56fef1404899d97d2f9758927.png

升级相机扩展的缩放、对焦、后视等功能

Android 14 升级和改进了相机扩展功能,让应用支持更长的处理时间,通过计算密集型算法改善成像品质,比如在支持的设备上使用微光拍摄。

  • 相机扩展
    https://developer.android.google.cn/training/camera/camera-extensions

通过这些改进,用户在使用相机扩展功能时会获得更强大的体验,包括:

  • 静态拍照处理延迟动态预估能基于当前场景和环境条件更准确地预估静态拍照的延迟。调用 CameraExtensionSession.getRealtimeStillCaptureLatency() 来获得 StillCaptureLatency 对象,该对象有两个延迟估计方法: getCaptureLatency() 方法会返回从 onCaptureStarted() 到 onCaptureProcessStarted() 之间的延迟预估,而 getProcessingLatency() 方法则返回从 onCaptureProcessStarted() 到生成最终处理帧之间的延迟预估。

  • CameraExtensionSession.getRealtimeStillCaptureLatency()
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionSession#getRealtimeStillCaptureLatency%28%29

  • StillCaptureLatency
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionSession.StillCaptureLatency

  • getCaptureLatency()
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionSession.StillCaptureLatency#getCaptureLatency%28%29

  • 支持拍摄进度回调,这样应用可以显示长时间静态拍照处理的进度。您可以使用 CameraExtensionCharacteristics.isCaptureProcessProgressAvailable() 来查看此功能是否可用,如果可用的话,实现 onCaptureProcessProgressed() 回调后即可以参数传递的方式获得进度值 (0 到 100)。

  • CameraExtensionCharacteristics.isCaptureProcessProgressAvailable()
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionCharacteristics#isCaptureProcessProgressAvailable%28int%29

  • onCaptureProcessProgressed()
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionSession.ExtensionCaptureCallback#onCaptureProcessProgressed%28android.hardware.camera2.CameraExtensionSession,%20android.hardware.camera2.CaptureRequest,%20int%29

  • 支持扩展功能特定的元数据,如 CaptureRequest.EXTENSION_STRENGTH,用于调整扩展效果的取值,如使用 EXTENSION_BOKEH 时的背景模糊程度。

  • CaptureRequest.EXTENSION_STRENGTH
    https://developer.android.google.cn/reference/android/hardware/camera2/CaptureRequest#EXTENSION_STRENGTH

  • EXTENSION_BOKEH
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionCharacteristics#EXTENSION_BOKEH

  • 支持相机扩展静态拍照的后视 (Postview) 功能,相比最终成像,该功能可以更快地提供一张少量处理过的图像。如果一个扩展的处理带来更多的延迟,可以先提供一张后视图像来占位,以改善用户体验,并在稍后替换成最终图像。您可以先用 CameraExtensionCharacteristics.isPostviewAvailable() 来查看这个功能是否可用,然后将一个 OutputConfiguration 传给 ExtensionSessionConfiguration.setPostviewOutputConfiguration()。

  • CameraExtensionCharacteristics.isPostviewAvailable()
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraExtensionCharacteristics#isPostviewAvailable%28int%29

  • OutputConfiguration
    https://developer.android.google.cn/reference/android/hardware/camera2/params/OutputConfiguration

  • ExtensionSessionConfiguration.setPostviewOutputConfiguration()
    https://developer.android.google.cn/reference/android/hardware/camera2/params/ExtensionSessionConfiguration#setPostviewOutputConfiguration%28android.hardware.camera2.params.OutputConfiguration%29

  • 支持 SurfaceView,带来更优化、更节能的预览渲染路径:

    https://developer.android.google.cn/reference/android/view/SurfaceView

  • 在使用扩展功能时支持点击对焦和缩放。

传感器内缩放

如果 CameraCharacteristics 的 REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE 包含 SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW,则您的应用可以通过调用 CaptureRequest 并指定一个 RAW 目标对象,其数据流用例设为 CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW,来使用高级传感器功能为裁切过的 RAW 数据流提供和全视角相同的像素数。实现控件覆盖请求后,更新后的相机甚至能在其他相机控件就绪之前就为用户提供缩放控制功能。

  • CameraCharacteristics
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraCharacteristics

  • REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE

  • SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW

  • CaptureRequest
    https://developer.android.google.cn/reference/android/hardware/camera2/CaptureRequest

  • CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
    https://developer.android.google.cn/reference/android/hardware/camera2/CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW

无损 USB 音频

Android 14 现在支持无损音频格式,让您可以通过 USB 有线耳机获得发烧友级别的体验。您可以查询 USB 设备的首选混音器属性,为该属性的变化注册一个监听器,然后使用新的 AudioMixerAttributes 类来配置混音器属性。这个类提供了格式的详细信息,比如通道掩码、采样率和混音器行为,而且支持音频直传,即不提供混音、音量调节和后期效果。我们正在和 OEM 合作伙伴们一起努力,在今年晚些时候将这个功能实装到设备上。

  • AudioMixerAttributes
    https://developer.android.google.cn/reference/android/media/AudioMixerAttributes

  • 音频直传
    https://developer.android.google.cn/reference/android/media/AudioMixerAttributes#MIXER_BEHAVIOR_BIT_PERFECT

492cb790364a4eef8f4e899c9f93702a.png

更多图像功能

Android 14 增加了先进的图形功能,可在 Canvas 层级活用复杂的 GPU 功能。

带有顶点和片段着色器的自定义网格

长期以来,Android 都支持绘制带有自定义着色的三角形网格,但支持的网格格式一直存在限制,仅限于一些预定义的属性组合。Android 14 增加了对自定义网格的支持,这些网格可以被定义为三角形或三角形带,如果您需要的话还能支持索引。这些网格是用 AGSL 编写的,包含自定义属性、顶点跨度、varying 变量和顶点/片段着色器。顶点着色器定义了 varying,如位置和颜色,片段着色器则可以选择性地定义像素的颜色,通常是使用顶点着色器创建的 varying 变量。如果颜色是由片段着色器提供的,那么在绘制网格时会使用选择好的混合模式与当前的 Paint 颜色进行混合。如果您需要更多的灵活性,可以将 uniform 变量传递给片段和顶点着色器。

  • 自定义网格
    https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh

  • 三角形
    https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh?#TRIANGLES:kotlin.Int

  • 三角形带
    https://developer.android.google.cn/reference/kotlin/android/graphics/Mesh?#triangle_strip

  • AGSL
    https://developer.android.google.cn/develop/ui/views/graphics/agsl

  • 网格定义
    https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification

  • 自定义属性
    https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification.Attribute

  • Varying
    https://developer.android.google.cn/reference/kotlin/android/graphics/MeshSpecification.Varying

  • 绘制网格
    https://developer.android.google.cn/reference/android/graphics/Canvas.html#drawMesh%28android.graphics.Mesh,%20android.graphics.BlendMode,%20android.graphics.Paint%29

  • 混合模式
    https://developer.android.google.cn/reference/kotlin/android/graphics/BlendMode

  • Paint
    https://developer.android.google.cn/reference/android/graphics/Paint

  • Uniform
    https://developer.android.google.cn/reference/android/graphics/Mesh#setFloatUniform%28java.lang.String,%20float[]%29

Canvas 硬件缓冲渲染器

Android 14 引入了 HardwareBufferRenderer,让 Android 的 Canvas API 在 HardwareBuffer 中绘制时得以使用硬件加速功能。当您的用例涉及到通过 SurfaceControl 与系统合成器通信以实现低延迟绘制时,此功能会特别有用。

  • HardwareBufferRenderer
    https://developer.android.google.cn/reference/android/graphics/HardwareBufferRenderer

  • Canvas
    https://developer.android.google.cn/reference/android/graphics/Canvas

  • HardwareBuffer
    https://developer.android.google.cn/reference/android/hardware/HardwareBuffer

  • SurfaceControl
    https://developer.android.google.cn/reference/android/view/SurfaceControl

b1d49682bfb4d32a65600d17e62b07b7.png

隐私

Android 14 继续关注隐私保护,并推出全新功能让用户对自己的数据及其共享操作有更多的控制权和可见性。

Health Connect

7728269a3e286463e088213e6a9dc291.png

Health Connect 是存放用户健康和健身数据的设备端内容库。用户可以通过这个库在他们喜爱的应用之间共享数据,而且提供了统一的入口来管理数据的分享范围。

Health Connect 目前在 Google Play 商店作为一个应用提供下载。从 Android 14 开始,Health Connect 成为了平台的一部分,可以通过 Google Play 系统更新进行升级,不再需要单独下载。如此一来,Health Connect 可以经常获得更新,您的应用也可以在 Android 14 及以上的设备上放心使用 Health Connect。用户可以通过设备的系统设置访问 Health Connect,其隐私控制集成在系统设置中。

Health Connect 现在支持运动路线,用户可以分享他们的运动路线,并在地图上查看。路线被定义为在一个时间窗口内记录的位置列表,您的应用可以将路线插入到健身计划中,将二者联系在一起。为了确保用户完全控制这些敏感数据,在与其他应用分享路线时需要用户按路线分别授权。

这次的发布可不止这些!请大家参阅观 "Android Health 最新进展" 博文了解 Health Connect 的详细信息:

https://android-developers.googleblog.com/2023/05/whats-new-in-android-health.html

数据分享更新

b97d3a1bb1c028e00ba9a0ccd49b5058.png

我们在位置信息的运行时授权对话框中新增了一块描述,来突出显示应用与第三方共享位置数据的情况。用户可以了解更多信息并控制应用对数据的访问。这些描述信息来自 Google Play 管理中心的数据安全表单。其他应用商店也将能够提供一个机制来呈现这些信息。我们鼓励开发者审查应用的位置数据共享政策,并对应用的数据安全信息进行更新以确保其符合实际情况。此变更将很快发布。

054a5f3bea9eddfeb21e4bd80684cbba.png

  • Google Play 管理中心
    https://developer.android.google.cn/distribute/console

  • 数据安全表单
    https://support.google.com/googleplay/android-developer/answer/10787469

此外,如果有位置权限的应用改变了其数据共享方案,开始与第三方共享这些数据,用户将定期得到通知。

新的位置数据共享变更页面将被添加进系统设置页面。

安全的全屏 Intent 通知

从 Android 11 (API 级别 30) 开始,任何应用都可以使用 Notification.Builder#sendFullScreenIntent 来在手机锁定时发送全屏 Intent。您可以通过在 Android 应用清单中声明 USE_FULL_SCREEN_INTENT 来在应用安装时自动获得该权限。

  • Notification.Builder#sendFullScreenIntent
    https://developer.android.google.cn/reference/android/app/Notification.Builder#setFullScreenIntent%28android.app.PendingIntent,%20boolean%29

  • USE_FULL_SCREEN_INTENT
    https://developer.android.google.cn/reference/android/Manifest.permission#USE_FULL_SCREEN_INTENT

全屏 Intent 通知是针对需要用户立即关注的极高优先级的通知而设计的,如来电或用户设置的闹钟等。从 Android 14 开始,我们将只允许提供通话和闹钟功能的应用在安装时获取该权限。

在用户更新到 Android 14 之前便已安装的应用,该权限会继续有效。用户可以自行开启或关闭这一权限。

您可以使用新的 NotificationManager.canUseScreenIntent API 来检查自己的应用是否有被授予这个权限。如果没有,则可以使用新的 ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT Intent 来启动设置页面以让用户授权。

  • NotificationManager.canUseScreenIntent
    https://developer.android.google.cn/reference/android/app/NotificationManager#canUseFullScreenIntent%28%29

  • ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
    https://developer.android.google.cn/reference/android/provider/Settings#ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT

5c5f2a4721f32e64dc3c969455b83338.png

系统界面

预测性返回 (Predictive Back)

28fbad9f61dee29371335f37bc8924c4.gif

△ Material 组件搜索动画

随着 Android 14 Beta 2 的发布,我们带来了多项改进和新的规范,以帮助大家在应用的 Activity 之间导航时呈现更流畅的动画:

  • 您可以设置 android:enableOnBackInvokedCallback=true 来为每个 Activity (而不是整个应用) 来单独启用预测性返回系统动画。

  • 我们为底部表单、侧面表单和搜索添加了新的 Material 组件动画。

  • 我们为自定义应用内动画和转场准备了设计指南。

  • 我们提供了新 API 来支持自定义应用内转场动画:

    • OnBackPressedCallback 的 handleOnBackStarted, handleOnBackProgressed, handleOnBackCancelled

    • OnBackAnimationCallback 的 onBackStarted、onBackProgressed、onBackCancelled

    • 用 overrideActivityTransition 来替代 overridePendingTransition,用于处理用户滑动返回时的过场效果

  • android:enableOnBackInvokedCallback=true
    https://developer.android.google.cn/reference/android/R.attr.html#enableOnBackInvokedCallback

  • 底部表单
    https://m3.material.io/components/bottom-sheets/guidelines#3d7735e2-73ea-4f3e-bd42-e70161fc1085

  • 侧面表单
    https://m3.material.io/components/side-sheets/guidelines#d77245e3-1013-48f8-a9d7-76f484e1be13

  • 搜索
    https://m3.material.io/components/search/guidelines#3f2d4e47-2cf5-4c33-b6e1-5368ceaade55

  • 预测性返回动画设计指南
    http://developer.android.google.cn/design/ui/mobile/guides/patterns/predictive-back

  • OnBackPressedCallback
    https://developer.android.google.cn/reference/androidx/activity/OnBackPressedCallback#OnBackPressedCallback%28kotlin.Boolean%29

  • handleOnBackStarted
    https://developer.android.google.cn/reference/androidx/activity/OnBackPressedCallback#handleOnBackStarted%28android.window.BackEvent%29

  • handleOnBackProgressed
    https://developer.android.google.cn/reference/androidx/activity/OnBackPressedCallback#handleOnBackProgressed%28android.window.BackEvent%29

  • handleOnBackCancelled
    https://developer.android.google.cn/reference/androidx/activity/OnBackPressedCallback#handleOnBackCancelled%28%29

  • OnBackAnimationCallback
    https://developer.android.google.cn/reference/kotlin/android/window/OnBackAnimationCallback

  • onBackStarted
    https://developer.android.google.cn/reference/kotlin/android/window/OnBackAnimationCallback#onbackstarted

  • onBackProgressed
    https://developer.android.google.cn/reference/kotlin/android/window/OnBackAnimationCallback#onbackprogressed

  • onBackCancelled
    https://developer.android.google.cn/reference/kotlin/android/window/OnBackAnimationCallback#onbackcancelled

  • overrideActivityTransition
    https://developer.android.google.cn/reference/android/app/Activity#overrideActivityTransition%28int,%20int,%20int,%20int%29

  • overridePendingTransition
    https://developer.android.google.cn/reference/android/app/Activity#overridePendingTransition%28int,%20int%29

在 Android 14 Beta 2 中,所有预测性返回动画功能依然在开发者选项里。请参阅开发者指南了解如何让应用支持预测性返回,以及如何创建自定义应用内转场动画。

  • 添加对预测性返回手势的支持
    https://developer.android.google.cn/guide/navigation/predictive-back-gesture

c98049439c0160780e4fd404deb50f03.png

应用兼容性

随着 Beta 2 的发布,我们距离 2023 年 6 月的平台稳定性里程碑只有一步之遥,届时我们将得到最终版本的 Android 14 SDK 和 NDK API,面向应用的系统行为也将最终确定。现在 Android 14 Beta 版已经可以在更多的设备上运行,您将在接下来的几周看到更多用户在 Android 14 上体验您的应用,并提交他们发现的问题。

要进行兼容性测试,请在运行 Android 14 Beta 版的设备或模拟器上安装您的正式版应用,并测试应用的所有流程。请通过行为变更清单来确定测试重点。在解决所有发现的问题后,请尽快发布应用的更新。

8f9751ce6bbb542e355d01862ed1574e.png

  • 行为变更 (针对所有应用)
    https://developer.android.google.cn/about/versions/14/behavior-changes-all

现在也可以开始准备将应用的目标平台升级至 Android 14 了,只需使用开发者选项中的应用兼容性开关进行测试即可。

8d9483090338a27bb901a57ffa8f52e8.png

△ 开发者选项中的应用兼容性开关

88b06fa32def0ba82c9095a4a46b89e5.png

即刻体验 Android 14

不论您是想体验 Android 14 的功能、测试应用还是提交反馈,都可以从这次的 Beta 2 开始。您还可以使用我们合作伙伴的设备来测试应用在平板电脑和可折叠设备上的表现,不过最简单的方法还是使用 Android Studio SDK 管理器最新预览版中安装了 64 位系统映像的 Android 模拟器中的 Pixel Tablet 或 Pixel Fold 配置进行测试。您还可以直接使用支持的 Pixel 设备参与测试,并通过 OTA 方式获得本次以及将来的 Android 14 Beta 版 (包括功能更新)。

  • 反馈与需求

    https://developer.android.google.cn/about/versions/14/feedback

  • 安装 SDK

    https://developer.android.google.cn/about/versions/14/setup-sdk#install-sdk

  • 参与 Beta 版测试
    https://www.google.com/android/beta

为了获得最佳的 Android 14 开发体验,我们建议您使用 Android Studio Hedgehog 的最新版本。

  • Android Studio Hedgehog
    https://developer.android.google.cn/studio/preview

设置好 SDK 后,您可以:

  • 体验新功能和 API - 在我们打磨及确定 API 的过程中,您的反馈至关重要。您可以在我们的跟踪页报告问题。

  • 测试应用的兼容性 - 测试您的应用是否受到 Android 14 默认行为变更的影响。请将应用安装到运行 Android 14 的设备或模拟器上进行彻底的测试。

  • 使用可选变更项测试应用 - Android 14 提供了可选的行为变更,这些变更仅在您的应用以新平台为目标时才会造成影响。尽早了解和评估这些变更十分重要。为了便于测试,您可以单独启用或者禁用这些变更。

  • 设置 Android 14 SDK

    https://developer.android.google.cn/about/versions/14/setup-sdk

  • 兼容性框架变更 (Android 14)
    https://developer.android.google.cn/about/versions/14/reference/compat-framework-changes

我们将在整个 Android 14 的发布周期内定期更新预览版和 Beta 版系统映像和 SDK。

请访问 Android 14 开发者网站了解如何获取 Beta 版等详细信息:

https://developer.android.google.cn/about/versions/14

欢迎您点击文末 "发消息" 向我们提交关于 Android 14 的反馈,或分享您对 "Android 开发者" 公众号的意见、建议,以及您希望在此看到的内容。

我们将从发送消息的微信粉丝中随机选择 5 位送出开发者礼品一组。

2e535537f2a8ce4bb067aa7762cc2d35.png

4cb2e228e553a03d0cd7f2bbbbe47c48.gif

85fb92d1b43a3cb28401ed9eca4ac1c1.jpeg

942fd3cd672c73d91523991f9c8f9fc5.gif

7df386b885bc06aeebe58c8949d81cfc.png

5c9ca52c67952ff70360c2e1559f1167.png

*开发者礼品: Android 糖果笔、Google Play 糖果笔、Android 公仔盲盒、Android 贴纸

*获奖者仅限给 "Android 开发者" 发送消息的微信粉丝。

*本次活动同一微信用户不可重复中奖。

*我们会通过私信联系获奖的朋友,请届时关注微信消息。

3df3fb2e79014129030464353ceea3b2.gif

推荐阅读

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

18f52090e4ba09b1e7ca9b45d237fe42.gif 点击屏末 阅读原文 | 进一步了解 Android 14 详细更新


c8cd3ee84e41c8def912c5ba65449b43.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

只要学会这些AI工具,一个人就是一家营销咨询公司

本教程收集于:AIGC从入门到精通教程 只要学会这些AI工具,一个人就是一家营销咨询公司 随着AI工具的不断涌现,您只需掌握市面上热门的AI工具,便可独自开展营销咨询公司。通过一系列AI工具,您可以为企业提供全案服务,收获丰厚回报。 例如,在协助一家美妆初创公司出海时,…

上下文工程:基于 Github Copilot 的实时能力分析与思考

上个月在计划为 AutoDev 添加多语言支持时候,发现 GitHub Copilot 的插件功能是语言无关的(通过 plugin.xml 分析),便想研究一下它是如何使用 TreeSitter 的。可惜的是,直到最近才有空,研究一下它是如何实现…

印刷和喷绘过程中高精度油墨流量和压力的串级控制解决方案

摘要:针对现有技术在印刷或喷绘设备中油墨流量控制不准确,使得油墨粘稠度产生异常造成批量性质量方面的问题,本文提出了相应的串级控制解决方案,即通过双回路形式同时控制油墨的流量和压力。本解决方案不仅可以保证油墨最终流量的…

【C++ 入坑指南】(07)判断

文章目录 一、if 语句1. 单行格式 if 语句2. 多行格式 if 语句 二、三目运算符三、switch 语句四、算法题4.1 分段函数 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句&am…

C++ - 使用RBTree来封装Set与Map

前面的文章中我们简单的实现了一个红黑树,实现了它的插入的功能,在本文中我们来对其进行修改并构建Set与Map。 下面我们来从源码中截取一点有关Map与Set的代码; 可以看出,在STL30中构建Map与Set使用的是同一个红黑树模板&#xf…

开箱即用!AI模型库全新发布,一站式在线开发部署!

人工智能学习与实训社区飞桨AI Studio模型库全新升级!支持模型创建、上传、托管并一键调用模型线上开发部署! 飞桨AI Studio已接入飞桨生态特色模型库,全面覆盖模型领域,包含文心系列大模型、CV、NLP、语音、科学计算、量子计算等…

Linux常用命令——hwclock命令

在线Linux命令查询工具 hwclock 显示与设定硬件时钟 补充说明 hwclock命令是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。 在Linux中有硬件时钟与系统时钟等两种时钟。…

XR文字输入技术

VR/AR/MR(统称为XR)有望成为个人电脑、手机之后的下一代计算平台,元宇宙的硬件入口。 近年来XR发展迅猛,不仅可以应用于游戏、影视领域,还在军事、医疗、办公、教育等领域有巨大的发展前景。然而相比于XR强大的显示技…

IPWorks IPC .NET 2022.0.85 Crack

IPWorks IPC .NET一个组件库,用于通过命名管道向应用程序添加进程间通信 (IPC) 功能。包括客户端、服务器和外部进程执行组件,用于进程之间的简单对等通信。 最新的IPWorks IPC现已上市!最新版本的 IPWorks IPC 具有现…

我用ChatGPT搞懂GPT技术原理,只问了30个问题,这是极致的学习体验!

自己前段时间写了一篇文章《问了ChatGPT 上百个问题后,我断定ChatGPT可以重塑学习范式!》,讲了使用ChatGPT的感受,最近我开始学习GPT的技术原理,原因有三个: 1、工作中有可能要用到GPT,理解GPT的…

智见|中国能建中电工程罗必雄:数能融合为数字中国夯实底座

出品|网易科技《智见访谈》 作者|赵芙瑶 编辑|丁广胜 数字化浪潮的风,吹到了能源结构转型领域。 中国作为全球最大的能源生产国和消费国,正积极推动能源行业的数字化和智能化建设。数字化智能化升级在能源产业中被视为一项重要的战…

Go设计模式--解释器模式

大家好,这里是每周都在陪你一起进步的网管~!今天继续学习设计模式—解释器模式 解释器模式是一种行为设计模式,可以用来在程序里创建针对一个特点领域语言的解释器,用于处理解释领域语言中的语句。换句话说&#xff0c…

转转前端周刊第六十五期

转转前端周刊 本刊意在将整理业界精华文章给大家,期望大家一起打开视野 如果你有发现一些精华文章想和更多人分享,可以点击我们的公众号名称,将文章链接和你的解读文案发给我们!我们会对内容进行筛选和审核,保留你的推…

基于POM模式应用Playwright进行自动化测试

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 前言 在现代软件开发中,自动化…

【Linux】Centos安装Redis数据库并内网穿透远程连接

文章目录 前言1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址4.3 使用固定的tcp地址连接 前言 Redis作为一款高速缓存的key value键值对的…

springboot+jsp家政预约服务管理系统

智慧家政在线预约管理系统为用户提供家政服务预约服务,系统包括前台和后台。 前台用户可以先进行注册,填写个人的基本信息提交到服务器,服务器把数据保存到数据库。管理员对会员的信息进行验证后,会员通过验证后的用户名和密码进行…

vlc搭建rtsp直播Demo ffmpeg + nginx + flv.js实现rtsp网页播放Demo

文章目录 学习链接本地视频文件作为数据源推流步骤拉流步骤 本地摄像头作为数据源拉流步骤 vlc ffmpeg nginx flv.js 实现网页视频直播概括vlc打开摄像头,提供rtsp视频流nginx配置http-flv.conf的nginx配置文件 ffmpeg将rtsp视频流转为rtmp,推送给ngi…

硬文:为什么中本聪不给比特币设计最终性?

* * * 原创:刘教链 * * * 昨日刘教链公众号刊发原创文章《论比特币和以太坊的“宕机”》之后,引发了一些对区块链工作原理感兴趣的朋友的热烈讨论。其中,魔笛手社区群主Claire提了一个好问题:为什么中本聪不给比特币设计最终性&a…

Babylon.js实战WebXR/元宇宙

从 VR 音频实验到街机上的 VR 休闲游戏,再到使用 AR 或 VR 创建新协作方式的更严肃用途,阅读本文后,你应该对今天可以做什么有很好的了解。 事实上,在本文中,我将分享我一直致力于使用 Babylon.js 构建沉浸式或增强现…

Towards Open-Set Object Detection and Discovery(论文翻译)

Towards Open-Set Object Detection and Discovery 摘要 随着人类对知识的不断追求,开集目标检测(OSOD)被设计用于识别动态世界中的未知目标。然而,当前设置的一个问题是,所有预测的未知对象共享相同的类别为“未知”…