整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

2 月 10 日,Google 宣布 Android 13 首个预览版面向开发者开放,此版本重点聚焦隐私和安全、提供开发者生产力、应用兼容性,并保持与 OpenJDK 11 更新一致、提供主题图标、带来新的照片选择器等功能。

接下来,让我们一起来看看最新版本的 Android 13 到底有什么样的改变吧!

以隐私和安全为核心

网络大数据时代,隐私与安全对于各大公司及用户而言至关重要,上到芯片、系统,下到应用程序,每一角落的安全及隐私保护都不容忽视。在带来 Android 13 首个预览版之际,Google 在官方博客中如是说道,“隐私是 Android 产品原则的核心,Android 13 专注于通过在设备上提供更安全的环境并为用户提供更多的控制权,为所有人构建一个负责任的高质量平台。”

全新的照片选择器和 API

Android 13 预览版引入全新的系统照片选择器功能,取代了用于选择照片的弹出文件管理器,这样方便用户在使用应用程序时能够更安全地共享本地或者云端照片和视频。其中应用程序可以调用系统照片选择器 API 后无需查看设备上所有媒体文件的权限,即可访问共享的照片和视频。

启动照片选择器示例(Kotlin 语言):

// Launches photo picker in single-select mode.
// This means that the user can select one photo or video.
val intent = Intent(MediaStore.ACTION_PICK_IMAGES)
startActivityForResult(intent, PHOTO_PICKER_REQUEST_CODE)

启动照片选择器示例(Java 语言):

// Launches photo picker in single-select mode.
// This means that the user can select one photo or video.
Intent intent = new Intent(MediaStore.ACTION_PICK_IMAGES);
startActivityForResult(intent, PHOTO_PICKER_REQUEST_CODE);

对于这一功能,Google 后续计划通过 Google Play 系统更新将照片选择器 API 作为运行在 Android 11 及更高版本的设备(Go 设备除外)中的 MediaProvider 模块的一部分,向更多 Android 用户推送。

在不使用位置权限的情况下,连接到 Wi-Fi

过往,应用程序偶尔需要使用附近 Wi-Fi 的列表,但使用这一功能的前提附带了一个更为敏感的权限:位置。

为此,Android 13 还引入了一个名为“NEARBY_WIFI_DEVICES 运行时权限(NEARBY_DEVICES 权限组的一部分)”,用于管理设备通过 Wi-Fi 与附近接入点的连接,而不会泄露用户的位置或需要位置权限。

这一功能非常适合为某些 Wi-Fi 硬件(智能扬声器等)设置应用程序。

调用方法如下:

public static final String NEARBY_WIFI_DEVICES

主题图标在 Android 13 测试版中正式可用!

还记得在去年发布的 Android 12 中,Google 为其带来了一个名为“主题图标”的新功能,不过一直处于测试版阶段。“主题图标”是指 Google 将墙纸中的强调色应用到主屏幕上的应用程序图标的方式,也就是将 Google 的一些图标单色化,并为图标提供与 Material You 主题相匹配的圆形背景。

简单来看,就是在启用这一功能后,应用程序图标将会呈现双色调外观,这些图标将会具有更亮的背景和更暗的元素。如下图所示,最左边的图片是未启用“主题图标”原有的界面显示,中间的是启用了“主题图标”显示的界面,右边是启用暗黑主题图标的界面。

不过,过去在 Android 12 中,主题图标是硬编码的,导致很多开发者即使想要开发制作主题图标,也不知从何入手。

现在在 Android 13 中,开发者只需要提供一个单色的应用图标,并对自适应图标 XML 进行一些调整,就能使用这一功能了。

针对这一点具体可以带来什么样的作用,目前尚未可知,也许仅是 Google 在图标颜色上的一种新尝试。

对此,国外科技媒体 Arstechnica 评价道,“Google 从修改社区的图标包中得到了关于‘主题图标’的想法。但在图标包中,一个设计师制作了一堆图标,一个用户应用它们,其实并没有什么用。除非世界上所有的开发者都制作一个主题图标,否则谷歌推出的主题图标不会带来什么效果。与此同时,修改图标如果也不关心一个公司的品牌优先级,只希望一切都能匹配的话,我无法想象 Facebook 会批准一个不是蓝色的 Facebook 图标出现。”

其实,Google 对于”主题图标“上或也存在很大的不确定性,在 Android 13 首个预览版正式发布的博文中,其指出,”我们鼓励所有开发者提供兼容的图标,从而为选择使用这一功能的用户提供一致的体验。主题应用图标最初会在 Pixel 设备上得到支持,我们正与设备制造商合作伙伴们一起将这个功能引入更多设备。"

当前,我们也不妨期待一下“主题图标”在实际设备应用上的效果吧。

提升开发者效率的工具

Android 13 还为提高开发人员的工作效率带来了新功能和工具。

快速设置放置 API

在 Android 13 预览版中,用户可以在不离开应用情况下,基于通知栏中的快捷设置直接进行更改设置或快速操作。

为此,Google 也为开发者提供了自定义磁贴,通过新的磁贴放置 API,应用程序可以提示用户,直接将能够自定义的磁贴添加到快捷设置磁贴组中。

单个应用的语言偏好

这一点也是很多系统以及工具在不断完善的功能点。即用户可以在不同的应用程序中设置与系统不同的语言,非常适用于多语言用户的需求。

时下,开发者只需要在开发自己应用程序的时候调用一个系统 API,就能设置或获取用户的首选语言,从而在设置应用的运行时语言时减少样板代码并提高兼容性。

Google 官方也表示,为了更广泛的兼容性,其将在即将推出的 Jetpack 开发库中增加一个类似的 API。

更快的连字符

在 Android 13 预览版中,有一个看似不起眼的功能却引起了不少开发者的注意,即“更快的连字符”。显示文本是 Android 上最常见的任务之一,也是系统上最为复杂的任务之一,在 2018 年 Google 博客发布的一篇描述 Android 9 的流程文章中曾写道:

显示文本可能很复杂,包括多种字体、行间距、字母间距、文本方向、换行、断字等功能。TextView 必须做很多工作来测量和布置给定的文本:读取字体文件、查找字形、确定形状、测量边界框以及将单词缓存在内部单词缓存中。更重要的是,所有这些工作都发生在 UI 线程上,这可能会导致您的应用程序丢帧。

在 UI 线程上执行所有这些操作对应用程序性能不利,因为任何挂断都会使用户的应用程序卡顿。此外,断字是最繁琐的文本布局操作之一,因为需要计算每个单词的每个音节断点来进行布局。

在 Android 13 预览版中,Google 将连字符的性能提升了多达 200%。开发者现在可以在 TextView 中启用连字符,它对渲染性能几乎没有影响。如果大家想要启用更快的连字符,可以在 setHyphenationFrequency() 中使用新的 fullFast 或 normalFast 频率。

可编程着色器

Android 13 是添加了对可编程 RuntimeShader 对象的支持,其行为使用 Android 图形着色语言 (Android Graphics Shading Language, AGSL) 定义。

OpenJDK 11 更新

在 Android 13 中,Google 开始将 Android 核心库与 OpenJDK 11 版本的更新保持一致,为应用和平台开发者提供代码库更新和 Java 11 编程语言支持。

Android 13 稳定版将比过往版本来得更早?

在 Android 13 中,Google 可谓是为系统与应用的兼容性操碎了心。这不,其宣布在新的一年中,也将进一步扩大对 Google Play 系统更新 (Project Mainline) 的资源投入。Project Mainline 是一个重要的 Android 项目,它可以使操作系统的核心组建能够通过 Play 商店更新。基于此,Google 官方现在可以通过更新现有模块将照片选择器和 OpenJDK 11 等新功能直接推送给旧版 Android 用户。

另外,为了让开发者有更加良好的体验,Google 发布了平板电脑优化指南、测试和调试文档,同时预期在 2022 年 6 月份 Android 13 版本实现稳定版,这个时间比 Android 12 早了两个月。

究其背后原因,Google 表示发布这些早期版本就是为了收集到更多的反馈,带来更好的体验。

当前对于想要尝鲜的开发者们,即刻就可以动起手啦,对此,官方也发布了一些实践指南:

  • 使用平板电脑和可折叠设备测试应用,最简单的入门方法是在平板电脑或可折叠配置中使用 Android 模拟器,设置说明详见:https://developer.android.com/about/versions/12/12L/get

  • 使用 Pixel 手机的用户,可以在 Pixel 6 Pro、Pixel 6、Pixel 5a 5G、Pixel 5、Pixel 4a (5G)、Pixel 4a、Pixel 4 XL 或 Pixel 4设备上直接输入系统映像:https://developer.android.com/about/versions/13/download

  • 使用非  Pixel 手机的用户,可以在 Android Studio 中将 64 位系统映像与 Android Emulator 一起使用。对于更广泛的测试,可以使用 GSI 图像。

更多使用指南详见:

https://android-developers.googleblog.com/2022/02/first-preview-android-13.html

参考链接:

https://arstechnica.com/gadgets/2022/02/google-releases-android-13-developer-preview-1/

往期推荐

CSS 状态管理,玩出花样了!

k8s集群居然可以图形化安装了?

使用这个库,让你的服务操作 Redis 速度飞起

将 k8s 制作成 3D 射击游戏,好玩到停不下来

点分享

点收藏

点点赞

点在看

Android 13 第一个开发者版本来了,网友直呼:Android 12 还没玩透!相关推荐

  1. Android 13 第一个开发者预览版本来了,网友直呼:Android 12 还没透

    2 月 10 日,Google 宣布 Android 13 首个预览版面向开发者开放,此版本重点聚焦隐私和安全.提供开发者生产力.应用兼容性,并保持与 OpenJDK 11 更新一致.提供主题图标.带 ...

  2. 再见,xShell,自己用Java撸一个Web版的,网友直呼:666

    作者 | ObjectSpace 来源 | https://sourl.cn/apXiEy 前言 最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上 ...

  3. Android 13 首个开发者预览版到来

    作者 / Dave Burke, VP of Engineering 每天,全世界都有数十亿人使用 Android 设备来完成各种事项.这些用户在使用 Android 时的优良体验离不开大家,也就是开 ...

  4. 都1202年了,阿里五岳版的《Java开发手册》你还没拜读过?

    都2021年了相信有很多人已经看过阿里五岳版的<Java开发手册>了! 没看过也没有关系,因为我今天给大家分享出来这份阿里开发手册五岳版的核心总结篇! 如果想获取开发手册的话可以直接添加助 ...

  5. 有道云笔记桌面挂件android,有道云笔记网页版全面更新!更有Android,pc新版享不停!...

    新年伊始,有道云笔记诸端都悄然发生了变化.各位笔记亲有木有注意到嘞. 快乐跟小编一起看看都有哪些新年贺礼吧~~bingogo. 新年第一弹:网页版全新升级,完善多级目录功能 从现在开始,不用下载客户端 ...

  6. Android开发程序员从大厂裸辞,面阿里、字节接连挂,网友直呼:菜是原罪,没实力大厂镀个遍也没用

    现在很多人会通过进入大厂镀金后再就业涨薪的方式,但是并不是每一个人都成功镀金.最近在职场论坛上看到这样一个抱怨帖子:"谁说的大厂镀金,信了你们的鬼话,裸辞两月0offer,早知道前年选虾皮了 ...

  7. android系统版本市场分布调查报告,安卓网:中国Android系统手机品牌分布情况

    Android系统的智能手机越来越受到基友的青睐,Android系统版本的不断更新升级也为智能手机的使用提供了无限的空间.最近关注百度手机品牌排行榜,发现各品牌的智能手机搜索量都呈上升趋势,安卓网也从 ...

  8. iPhone 12还没出,iPhone 13开始了:将采用120Hz ProMotion显示屏

    近日,显示器行业分析师Ross Young在社交媒体爆料了一系列"iPhone 13"的信息. 根据爆料,"iPhone 13"将继承即将到来的iPhone 1 ...

  9. Android 13 开发者预览版

    1.行为变更 1.1隐私权 1.1.1针对附近 Wi-Fi 设备的新运行时权限 Android 13 引入了 NEARBY_WIFI_DEVICES 运行时权限,该权限属于 NEARBY_DEVICE ...

最新文章

  1. 支持比特币支付的商家中有90%接受了BCH
  2. 美团点评资深产品专家刘远飞:了解业务要弄清楚这三个问题
  3. 揭秘阿里人工智能实验室首款智能音箱——天猫精灵X1
  4. java语言介绍 —(1)
  5. jQuery实现购物车多物品数量的加减+总价计算
  6. 03-28 弱网测试
  7. 关于GIT的万年坑你还在踩吗?答应我别傻了
  8. HAUT校赛--最大奇子段和
  9. Qt 实现多语言 国际化 翻译
  10. 无线通信与编码_MATLAB实现Turbo码的仿真_含仿真代码_Dr.WuYufei
  11. @Transaction注解及失效详解
  12. 201621123068 Week02-Java基本语法与类库
  13. Msql特定业务之自增业务表,适用于根据表去分类管理业务数据
  14. Hexo + yilia 主题实现文章目录
  15. Docker 命令基础及进阶
  16. 人工智能对学计算机的影响,计算机专业大学生对人工智能对人类的影响分析.docx...
  17. sql UPDATE的时候可以使用join吗
  18. Simulink自动代码生成:如何标准化的建模?以MAB,MISRA C 2012建模规范为例
  19. ChatGPT和DALLE-2级联后,输出效果震撼了…
  20. Oracle——2.查询基本语法

热门文章

  1. c语言报错spawning 插1,C语言错误····error spawning c1.exe
  2. 计算机网络构成ppt,计算机网络体系结构ppt课件.ppt
  3. android布局的属性,android
  4. python扫描字符串文本时下线_python:SyntaxError:扫描字符串li时的EOL
  5. 向大学生教授物理的更好方法
  6. 张文宏:知道很多网友批评我,但粥还是不能喝
  7. 互联网人才流向说明了什么
  8. 机器学习近年来之怪现状
  9. 用人工智能来喂鱼:喂多少智能算法说了算
  10. Yolo家族算法分析