Android 10文档阅读总结

code小生 ,一个专注大前端领域的技术平台

公众号回复
Android

加入我的技术群

作者: 斌林诚上

链接: https://www.jianshu.com/p/d25bcbb08665

声明:
本文已获
斌林诚上

授权发表,转发等请联系原作者授权

目录

一、前言

二、简介

三、新技术

(1)设备 ——> 可折叠

(2)网络 ——> 4G~5G

(3)通知 ——> 智能化

(4)主题 ——> 深色/暗黑

(5)手势 ——> 导航

(6)设置 ——> 浮动

(7)共享 ——> 更快捷

四、隐私权变更

五、其他变更

六、需要兼容的变更

七、内容推荐

八、项目参考

一、前言

有好长一段时间没写文章了,自从栽了一颗

之后就开始疯狂的吸取养分。其实前段时间不写文章主要是:发现要学的东西太多,总觉时间不够。而且写文章要比学习某个内容要花费更多的时间。结果最近发现有点消化不良。今天就抽空给

做个总结。先给大家展示一下<分支>,大家就知道这篇文章要写咋了。
树的一小分支>
树>

大家没 看错,这篇要总结 的就是Android 10,不叫android Q ,<分支>里面为了方便记忆 备注了个Q。

二、简介

其实Android 10已经出来大半年了,该适配的估计都适配完,没适配完的网上也出现了许多相关博客。抽空写这篇总结,也不是教大家如何适配的,只是想更好的归纳知识点或注意事项,更方便的记忆。而且亲手写一遍会更加深刻,所以才有了这篇文章 。

我们可以清楚的从<分支>中看到大部分的内容,但是还有许多细节没展示出来。那么下面就对这些内容进行总结。

详细内容请查看文档:Android 10Google文档

三、新技术

总的来说Android 10 变化是巨大的,内容太多所以需要整理与分析

下面的破折号(——)相当于 “支持”意思

(1)设备 ——> 可折叠

添加多窗口支持 android:resizeableActivity=[“true” | “false”]

添加多屏幕支持 android:supportsMultipleDisplays=[“true” | “false”]

添加多重回复

添加屏幕获取方式

定义第二块屏幕

(2)网络 ——> 4G~5G

5G平台支持

扩展现有API (1)检测设备是否具有高带宽连接 (2)检查连接是否按流量计费

(3)通知 ——> 智能化

智能回复

开启地图

(4)主题 ——> 深色/暗黑

适合光线较暗的场景病节省电量 设置->省电模式 激活

自定义深色主题 (1)新版:使用新的ForceDark功能 (2)10以下:AppCompat的DayNight功能

(5)手势 ——> 导航

设置透明系统条

设置UI可见性标志

使用自定义视图时需要实现插入手势窗口

需要处理了手势冲突

(6)设置 ——> 浮动

提供了可浮动设置面板

1. 显示一个设置对话框 ACTION_INTERNET_CONNECTIVITY

2. 显示NFC设置对话框 ACTION_NFC

3. 显示WIFI设置对话框 ACTION_WIFI

4. 显示音量设置对话框 ACTION_VOLUME

(7)共享 ——> 更快捷

简介:共享快捷方式类似于应用快捷方式,让用户能够直接跳转到其他应用来共享内容

1. 使用 ShortcutInfo API

总结:添加了七块新的内容分别是:设备、网络、通知、主题、手势、设置与共享

更方便记忆为:通知网络设备手动(手势)设置共享主题

或许面试的时候会扯到这些也说不定…

四、隐私权变更

下面主要还是来自google文档 这里做个记录 查找更容易些

(1)重大变更

外部存储访问权限范围限定为应用文件和媒体

在后台运行时访问设备位置信息需要权限

针对从后台启动 Activity 的限制

(2)标识符和数据

移除了联系人亲密程度信息

随机分配 MAC 地址

对 /proc/net 文件系统的访问权限实施了限制

对不可重置的设备标识符实施了限制

限制了对剪贴板数据的访问权限

保护 USB 设备序列号

(3)摄像头和连续性

对访问摄像头详情和元数据的权限实施了限制

对启用和停用 WLAN 实施了限制

对直接访问已配置的 WLAN 网络实施了限制

一些电话 API、蓝牙 API 和 WLAN API 需要精确位置权限

(4)权限

限制对屏幕内容的访问

面向用户的权限检查

身体活动识别

总结:

变更后的优点:

1. 赋予用户对位置数据的更多控制权

2. 在扫描网络时保护位置数据

3. 阻止设备跟踪

4. 保护外部存储设备中的用户数据

5. 屏蔽意外中断

涉及范围要点:存储访问、位置、限制后台活动、网络、限制内容、身体活动权限

瞎组合:限制后台-存储访问-位置 / 限制-网络-与-身体活动

有更好的记忆方式请留言建议

五、其他变更

(1)安全性

存储加密 :引入新加密模式 Adiantum

默认启用 TLS 1.3:是 TLS 标准的主要修订版本,具有性能优势和更高的安全性

平台安全强化 :引入了针对平台几个关键安全区域的安全强化功能

改进了生物识别功能:扩展了 BiometricPrompt 框架,以支持被动身份验证方法,如人脸识别以及添加隐式和显式身份验证流程

(2)摄像头与媒体

照片的动态深度:可以请求动态深度图片,其中包含与深度相关元素有关的 JPEG、XMP 元数据,以及嵌入在同一文件中的深度和置信度映射

捕获播放的音频:允许其他应用使用新的音频播放捕获 API 捕获其音频流

新的音频和视频编解码器:开源视频编解码器 AV1 的支持,这允许媒体提供商使用更少的带宽向 Android 设备流式传输高品质视频内容

原生 MIDI API:针对使用 C++ 执行其音频处理的应用,Android 10 引入了原生 MIDI API,以通过 NDK 与 MIDI 设备通信

可缩放的定向麦克风:通过新的 MicrophoneDirection API 更好地控制音频捕获,使用此 API 指定在录音时麦克风的首选方向

Vulkan 无处不在:所有搭载 Android 10 及更高版本的 64 位设备现在都要求使用 Vulkan 1.1,也建议在所有 32 位设备上使用 Vulkan 1.1

(3)连接性

改进了点对点连接和互联网连接

WLAN 性能模式:启用高性能和低延迟模式来请求自适应 WLAN,使用新的性能模式,请调用 WifiManager.WifiLock.createWifiLock()

(4)android基础

ART 优化

针对 NNAPI 1.2 进行优化并提供支持

应用和游戏可以使用 Thermal API 监控设备变化情况,并在设备过热时采取措施,使设备恢复到正常温度\

增加了对非 SDK 接口的限制,以便应用逐步转为仅使用公共 API

总结:这部分主要是介绍引进了哪些技术,增加哪些API ,及优化了哪些部分。可以适当的适配到项目当中

六、需要兼容的变更

根据文档我们知道。首先要让我们的项目在Android 10版本设备上进行兼容 。然后提升API 到29,兼容 android 10的变更,并且添加项目所需要的android 10新功能到项目中。

(1)项目在Android 10版本设备上进行兼容(API28或28以下)

(2)提升API 到29,兼容android 10的变更,并增加新功能

这部分偷个懒就不Copy,大家可以在文档中查看详情。由于没有相应的真机可以测试,所以就不在这里吹牛了

…等后面从实践中证明后再添进来。。

总结:android 10最大变化和最值得注意的要属:第三点与第四点。只要大家记住这两点,就可以解决android 10遇到的大部分问题了。。。

七、内容推荐

《CSDN》

《Android 学习资源收集》

《Android 自定义控件基础》

《Android 数据库知识回顾》

《Android Rxjava+Retrofit网络请求框架封装(一)》

八、项目参考

自己整理的一个工具演示项目,有兴趣可以看下

Github: https://github.com/DayorNight/BLCS

apk下载体验地址: https://www.pgyer.com/BLCS