- 增加了默认的app启动页SplashScreen;当应用targetSdkVertion>= 31时,在冷启动或温启动是,会先加载展示启动页SplashScreen,然后再显示你的Activity;目前启动页只能通过主题设置,对于使用额外 Activity 作为启动页的方式,可以选择不管或者去掉,也可以使用androidx提供的兼容包来处理(androidx.core:core-splashscreen)。
- 如果 Activity、Service或Broadcast使用了intent过滤器,则必须显式声明android:exported的值,否则无法在Android 12的设备上进行安装。
- 屏蔽非可信触摸事件;非当前应用创建的可见视图,且alpha 大于0.8 (这个值可能被修改),除去软键盘、系统助手悬浮窗等系统默认的可信视图或使用了使用了 TYPE_ACCESSIBILITY_OVERLAY 标志的窗口,一律阻止事件透传;
- Display.getRealSize() & Display.getRealMetrics()方法被废弃。
- OverScroll 的默认动画改为拉伸变形(类似iOS),如果你需要特别处理 OverScroll 的动画或者动作,谷歌增加了EdgeEffect.getDistance和EdgeEffect.onPullDistance两个API来处理 OverScroll 行为(SDK 31目前不可用)。
- 引入限制域概念(官方翻译: 限制性应用待机模式存储分区), 限制域影响应用的优先级,以及消耗系统资源的行为。
- 弃用了ACTION_CLOSE_SYSTEM_DIALOGS;当应用尝试调用包含此操作的intent时,系统会根据应用的目标SDK版本执行以下操作 :
1)如果应用的targetSdk大于等于31,则会抛出SecurityException;
2)如果应用的targetSdk小于等于30,则该intent不会执行,但会在logcat中显示错误信息;
2022-02-18