一、Android5.x
1、Material design风格
2、通知栏锁屏状态下,也可以接受到通知,并可以设置接受部分通知
3、由Dalvik虚拟机改为ART虚拟机,实现静态编译AOT与动态编译JIT交互进行
4、android.support.v7包下增加CardView和RecycleView
5、支持64位系统
6、自定义权限唯一性要求
二、Android6.x
1、运行时权限
2、引入低电耗模式Done(在不插电,屏幕关闭后一段时间进入休眠状态)和应用待机模式(在不插电,待机状态下,一段时间后无操作,系统断网、暂停作业)
3、取消Apache HTTPclient API
4、NDK方面从OpenSSL转向BoringSSL
5、对蓝牙和 WLAN 扫描增加控制
6、增加Notification.Builder,移除Notification.setLatestEventInfo() 通知方法
7、AudioManager 方法变更
8、相机改变为优先级打开方式,禁止多个进程同时访问相机
9、ART虚拟机可使用暴力反射
三、Android7.x
1、多窗口、画中画
2、更强的自定义通知栏
3、添加JIT动态编译,部署应用加快
4、增强低电耗模式Done
5、无障碍增强人脸追踪、眼球追踪、点扫描
6、引入v2签名策略
7、支持VR
四、Android8.x
1、通知多渠道,通知细分、通知红点、通知延后
2、后台服务、广播执行限制
3、画中画
4、蓝牙功能提升
5、自动识别文字
6、取消屏幕纵横比限制
五、Android9.x
1、屏缺口支持
2、短信通知显示头像
3、简化通知渠道
4、多摄像头支持
5、ImageDecoder可取代BitmapFactory、AnimatedImageDrawable 绘制GIF和WebP
6、JobScheduler优化
7、引入api加快机器学习速度
8、秘钥库等安全增强
9、无障碍功能增强
10、旋转模式
11、跟踪系统日志
六、Android10.x
1、折叠屏支持
2、夜间模式
七、Android11.x
行为变更(与targetSdkVersion无关):
安全
1、设备接收 OTA 更新并重启后,您的应用可以执行与文件级加密相关的操作。
2、SSL 套接字默认情况下使用 Conscrypt SSL 引擎。
3、使用Scudo Hardened Allocator,检测内存Scudo崩溃。
相机
1、支持并发使用多个摄像头
网络连接
1、Open Mobile API增强(访问手机SE,sim卡管理相关开发)
性能调试
1、JobScheduler(任务调度器)调用限制,调试时,超出速率限制的 JobScheduler API 调用将返回 RESULT_FAILURE。
2、fdsan(文件描述符排错程序),fdsan 会在检测到错误时中止。
无障碍功能增强
应用兼容性
1、非sdk接口限制,使用非sdk接口限制,应用无法运行的风险始终会很高。
行为变更(targetSdkVersion 为android-R):
隐私权
1、分区存储强制执行
2、通过一次性权限,用户可以向位置、麦克风和摄像头授予临时访问权限
3、限制后台位置信息访问权限
4、更改查询同一设备上的其他已安装应用及与之交互的方式,添加<queries>实现与其他应用交互
5、更改了前台服务访问摄像头和麦克风数据的方式
网络连接
1、连接VPN
2、限制对APN数据库的访问
3、应用可以向每个进程授予网络访问控制权限
4、允许安装的多种 Passpoint (热点)配置具有相同的 FQDN(完全限定域名)
安全
1、mac地址针对每个完全限定域名 (FQDN) 进行分配,不进行随机分配。
2、非特权应用将无法访问设备的 MAC 地址
3、堆指针在最高有效字节 (MSB) 中有一个非零标记。错误地使用指针的应用(包括修改 MSB 的应用)现在会崩溃或遇到其他问题。
4、自定义Toast在后台发出屏蔽
5、Firebase变更
新功能:
1、对瀑布屏的支持,可折叠设备的支持;
2、会话增加改变样式功能,改为气泡显示;
3、捕获设备共享数据;
4、快速回复中插入富媒体;
5、显示5G图标;
(安全)
6、生物识别身份验证机制增加强强度级别验证、弱强度级别验证、使用凭据进行验证
7、每次使用时进行身份验证
8、与其他应用共享大型数据集
(性能质量)
9、无线调试、增量安装APP
10、使用原生内存分配器进行内存错误检测
11、NNAPI 1.3优化机器学习
12、NDK Thermal API监控温度变化
13、改进了切换输入法,以及导航栏、状态栏变换
14、ICU语言库更新
15、MediaCodec 低延时解码
16、已弃用 OpenSL ES(音频处理)
(网络连接)
17、Wi-Fi Passpoint 增强功能
18、NDK ImageDecoder 图像解码器,代替第三方图像解码库
19、适用于 OpenGL ES (图像处理)的 ANGLE,在Android系统将OpenGL转换成Direct X运行
20、相机api更改、Android 模拟器中的相机扩展、更好的支持多帧图片
21、无障碍功能更新
(其他功能)
22、进程终止原因具体分析,例如进程终止是由于 ANR、内存问题还是其他原因所致
23、资源加载器,新的 API 类 ResourcesLoader 和 ResourcesProvider
24、APK 签名方案 v4,支持apk增量安装
25、动态 intent 过滤器,应用在运行时更改其 intent 过滤器
26、自动填充服务增强
八、Android12.x
1、增加默认启动页
八、Android Jetpack包
1、(架构)Lifecycles、LiveData、Room、WorkManager、Navigation,(行为)Slices、CameraX,(基础)Androidx包、appcompat ,(界面)Fragment
九、hook机制
通过拦截方法改变程序运行结果,实现一些功能,Java中一般运用反射和动态代理实现
十、组件化和插件化
插件化和热修复都用到了类加载器原理
组件化:通过修改gradle配置和ARouter进行模块间通信,ARouter原理用注解实现
插件化:将一个app拆分为多个小app,常用三方框架Small
十一、热修复
通过类加载器将dex文件添加到Element数组中,把补丁中修复好的类中Element数组加到最前面,实现修复功能
常用三方框架阿里Sophix 腾讯tinker
网友评论