面向开发者的 Android 10文档格式.docx
- 文档编号:20452391
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:11
- 大小:5.14MB
面向开发者的 Android 10文档格式.docx
《面向开发者的 Android 10文档格式.docx》由会员分享,可在线阅读,更多相关《面向开发者的 Android 10文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
如需详细了解如何针对可折叠设备优化应用,请参阅开发者指南。
5G网络
5G有望在稳定提升速度的同时降低延迟,Android10新增了针对5G的平台支持,并扩展了现有API
来帮助您充分利用这些增强功能。
您可以使用连接API来检测设备是否具有高带宽连接,还可以检查连接是否按流量计费。
借助这些功能,您的应用和游戏可以为使用5G的用户量身打造丰富的沉浸式体验。
通知中的智能回复
Android10使用设备上的机器学习在通知中提供上下文操作建议,如智能回复消息或在通知中打开某个地址的地图。
您的应用可以立即充分利用此功能,而您无需执行任何操作。
系统提供的智能回复和操作默认直接插入到通知中。
您仍可以根据需要自行提供回复或操作。
使用
setAllowGeneratedReplies()
setAllowSystemGeneratedContextualActions()
即可针对每则通知选择停用智能回复。
智能回复可以根据通知内容提供操作建议。
深色主题
Android10新增了一个系统级的深色主题,非常适合光线较暗的场景并能帮助节省电量。
用户转至“设置”进行相应设置或开启“省电模式”即可激活新的系统级深色主题。
这会将系统界面更改为深色,并为支持深色主题的应用启用深色主题。
您可以为应用构建自定义深色主题,也可以选择使用新的ForceDark功能,让系统根据现有主题动态创建深色版本。
您还可以充分利用
AppCompat的DayNight功能,为使用早期版本的Android的用户提供深色主题。
如需了解详情,请参阅开发者指南。
Android10可以利用ForceDark为应用动态创建深色主题。
手势导航
手势导航可让应用全屏显示内容。
Android10引入了全手势导航模式,该模式不显示通知栏区域,允许应用使用全屏来提供更丰富、更让人沉浸的体验。
它通过边缘滑动(而不是可见的按钮)保留了用户熟悉的“返回”、“主屏幕”和“最近”导航。
要与手势导航无缝融合,您应顺着边缘在导航栏后方绘制,以打造沉浸式体验。
要实现这一点,应用应使用
setSystemUiVisibility()
API以全屏模式布局,然后相应地处理
WindowInsets,以确保重要的界面区域未被遮挡。
立即开始优化您的应用,并查看我们的博文系列,以了解详情。
设置面板
现在,您可以通过新的设置面板API
在应用上下文中直接显示关键系统设置。
设置面板是浮动界面,您可以通过调用它来显示用户可能需要使用的设置,如互联网连接、NFC和音量。
例如,浏览器可以显示具有飞行模式、WLAN(包括附近网络)和移动数据等连接设置的面板。
要显示设置面板,只需发出具有某个新
Settings.Panel操作的intent。
共享快捷方式
共享快捷方式功能可使共享更加轻松快捷,让用户能够直接跳转到其他应用来共享内容。
开发者可以发布能在应用中启动特定Activity的共享目标,同时附上内容;
这些共享目标会在共享界面中向用户显示。
因为共享目标是提前发布的,所以共享界面会在启动后立即加载它们。
共享快捷方式类似于应用快捷方式,都使用同一个
ShortcutInfoAPI。
ShareTargetAndroidX库也支持此API。
如需了解详情,请参阅示例应用。
共享快捷方式可让用户直接跳转到应用中的特定Activity,同时附上内容。
用户隐私设置
隐私权是Android10的其中一个主要关注点,相关改进包括在平台中提供更强大的保护措施以及在设计新功能时谨记隐私性。
Android10基于先前版本构建,并引入了大量变更(如改进了系统界面、让权限授予更加严格以及对应用能够使用哪些数据实施了限制),目的是保护隐私权并赋予用户更多控制权。
如需详细了解如何在您的应用中支持这些变更,请参阅隐私权变更。
用户现在可以选择在应用在前台运行时授予其访问位置信息的权限。
赋予用户对位置数据的更多控制权
-用户可以通过新的权限选项更好地控制他们的位置数据;
现在,他们可以允许应用仅在实际使用(在前台运行)时访问位置信息。
对于大部分应用来说,这提供了足够的访问级别;
而对于用户来说,这在确保透明度和控制权方面是一项重大改进。
要详细了解位置信息方面的变更,请参阅开发者指南或我们的博文。
在扫描网络时保护位置数据
-用于扫描网络的大多数API都需要粗略位置权限。
Android10
改为要求精确位置权限,由此来增强对这些API的防御。
阻止设备跟踪
-应用无法再访问不可重置的设备标识符(可用于跟踪),包括设备IMEI、序列号和类似标识符。
设备的MAC地址也会默认在连接到WLAN网络时随机分配。
请阅读最佳做法,其中的内容有助于您为具体使用场景选择合适的标识符;
同时点击此处了解详情。
保护外部存储设备中的用户数据
-Android10引入了一些变更,目的是让用户更好地控制外部存储设备中的文件以及其中的应用数据。
应用可以将自己的文件存储在专用沙盒中,但必须使用MediaStore来访问共享媒体文件,并使用系统文件选择器访问新的“下载内容”集合中的共享文件。
如需了解详情,请点击此处。
屏蔽意外中断
-Android10可阻止应用从后台启动,从后台启动会使应用意外跳转到前台并从其他应用获得焦点。
安全性
Android10引入了多项功能,可通过加密、平台安全强化和身份验证方面的改进为用户提供更高的安全性。
请详细阅读此处的Android10安全更新。
存储加密
-搭载Android10的所有兼容设备都必须加密用户数据;
为了提高加密效率,Android10引入了我们的新加密模式
Adiantum。
默认启用TLS1.3
-Android10还默认启用
TLS1.3,它是TLS标准的主要修订版本,具有性能优势和更高的安全性。
平台安全强化
-Android10还引入了针对平台几个关键安全区域的安全强化功能。
改进了生物识别功能
-Android10扩展了
BiometricPrompt
框架,以支持被动身份验证方法,如人脸识别以及添加隐式和显式身份验证流程。
在显式流程中,用户必须在身份验证期间明确确认TEE中的事务。
对于需要被动身份验证的事务,隐式流程是一种更轻量的替代方案。
Android10还改进了按需回退设备凭据的流程。
摄像头和媒体
照片的动态深度
应用现在可以请求动态深度图片,其中包含与深度相关元素有关的JPEG、XMP元数据,以及嵌入在同一文件中的深度和置信度映射。
这些功能让您可以在应用中提供专用模糊和散景选项。
动态深度是用于生态系统的一种开源格式,我们正在与合作伙伴合作,以将其推广到搭载Android10及更高版本的设备。
您可以利用动态深度图片在应用中提供专用模糊和散景选项。
捕获播放的音频
现在,播放音频的任何应用都允许其他应用使用新的音频播放捕获API
捕获其音频流。
除了能够启用字幕之外,此API还可让您支持常见的使用场景(如直播游戏)。
我们在构建这项新功能时考虑了隐私性和版权保护,因此,应用捕获其他应用音频的功能会受限,这会让应用全权控制其音频流是否可以被捕获。
如需了解详情,请阅读这篇博文。
新的音频和视频编解码器
Android10新增了对开源视频编解码器
AV1
的支持,这允许媒体提供商使用更少的带宽向Android设备流式传输高品质视频内容。
此外,Android10还支持使用
Opus(一种针对语音和音乐流式传输进行了优化的开放且免版税的编解码器)和
HDR10+(用于支持它的设备上的高动态范围视频)对音频进行编码。
MediaCodecInfoAPI
引入了一种更简便的方法来确定某个Android设备的视频渲染功能。
对于任何指定的编解码器,您可以获取其支持的大小和帧速率列表。
原生MIDIAPI
针对使用C++执行其音频处理的应用,Android10引入了原生MIDIAPI,以通过NDK与MIDI设备通信。
此API允许使用非阻塞读取在音频回调内检索MIDI数据,从而以低延迟处理MIDI消息。
使用示例应用和此处的源代码试试看。
可缩放的定向麦克风
Android10可让您通过新的
MicrophoneDirection
API更好地控制音频捕获。
您可以使用此API指定在录音时麦克风的首选方向。
例如,当用户在进行视频“自拍”时,您可以请求前置麦克风(如果有)以进行录音。
此外,此API还引入了控制可缩放麦克风的标准化方法,允许您的应用控制录音字段大小。
Vulkan无处不在
Android10包含用于绘制高性能3D图形的低开销、跨平台API
实现,扩大了
Vulkan
的影响范围。
所有搭载Android10及更高版本的64位设备现在都要求使用Vulkan1.1,也建议在所有32位设备上使用Vulkan1.1。
我们已经看到整个生态系统大力支持Vulkan的强劲势头,在搭载AndroidN或更高版本的设备中,53%的设备都支持Vulkan1.0.3或更高版本。
随着Android10中相关新要求的推出,我们预计未来一年Vulkan的采用率将进一步提升。
连接性
改进了点对点连接和互联网连接
我们重构了WLAN堆栈,目的是改进隐私设置和性能,同时改进常见使用场景(如管理IoT设备以及提供互联网连接建议),而无需请求位置权限。
网络连接API
针对点对点功能(如配置、下载或打印)简化了通过本地WLAN管理IoT设备的操作。
网络建议API
可让应用向用户显示首选WLAN网络以进行互联网连接。
WLAN性能模式
应用现在可以通过启用高性能和低延迟模式来请求自适应WLAN。
如果低延迟对用户体验(如实时游戏、活跃语音通话以及类似使用场景)至关重要,这些模式会极具优势。
平台与设备固件配合使用,可以满足最低耗电量的要求。
要使用新的性能模式,请调用
WifiManager.WifiLock.createWifiLock()(使用
WIFI_MODE_FULL_LOW_LATENCY
或
WIFI_MODE_FULL_HIGH_PERF)。
在这些模式中,平台与设备固件配合使用,可以满足最低耗电量的要求。
Android基础知识
ART优化
在ART运行时方面的改进可帮助您的应用更快地启动、占用更少的内存并更顺畅地运行,而您无需执行任何操作。
借助GooglePlay提供的
ART配置文件,ART在应用运行之前就可以预先编译应用组件。
在运行时,Android10向ART的并发复制(CC)垃圾回收器添加了分代垃圾回收功能,以节省垃圾回收的时间并提高CPU效率,减少卡顿,同时帮助应用在低端设备上更顺畅地运行。
上图以百分比形式显示了具体应用在使用Play配置文件进行测试后启动时间的缩短幅度。
NeuralNetworksAPI1.2
我们新增了60项操作(包括ARGMAX、ARGMIN和量化LSTM),并进行了一系列性能优化。
这为加速更多模型奠定了基础,比如对象检测模型和图像分割模型。
我们与硬件供应商合作,并使用常见的机器学习框架(如
TensorFlow),以针对NNAPI1.2进行优化并提供支持。
ThermalAPI
当设备过热时,它们可能会限制CPU和/或GPU,而这可能会以意想不到的方式影响应用和游戏。
现在,在Android10中,应用和游戏可以使用
ThermalAPI
监控设备变化情况,并在设备过热时采取措施,使设备恢复到正常温度。
例如,影音在线播放应用可以降低分辨率/比特率或减少网络流量;
相机应用可以停用闪光灯或密集型图像增强;
游戏可以降低帧速率或减少多边形曲面细分。
通过公共API实现兼容性
Android10继续增加了对非SDK接口的限制,以便应用逐步转为仅使用公共API。
如果您目前使用的接口受到限制,则可以选择针对该接口请求新的公共API。
为了帮助您完成过渡并防止应用中断,我们仅在您的应用以Android10(API29)为目标平台时实施这些限制。
如需详细了解这些限制,请参阅开发者指南。
更新速度更快,代码更新频率更高
Android10可通过
Treble计划加快更新速度,这可在Android与设备制造商和芯片制造商提供的底层设备代码之间提供一致的可测试接口。
借助Treble计划,设备制造商能够以更快的速度和更低的费用将Android10引入符合Treble标准的设备中。
Android10也是首个支持
ProjectMainline(官方名称为“GooglePlay系统更新”)的版本;
这是我们用于保护Android用户并通过重要的代码变更及时更新设备的新技术,可通过GooglePlay直接获取。
借助GooglePlay系统更新,我们能够更新所有搭载Android10及更高版本的设备中的特定内部组件,无需设备制造商全面更新系统。
对于开发者来说,我们希望Android10中的这些更新能够广泛帮助提升设备间平台实现的一致性,并随时间提供更高的统一性,从而降低您的开发和测试费用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向开发者的 Android 10 面向 开发者