Android版本特性

Android每个版本特性

Android 4.4

webview的变化

4.4版本以后对http与https进行了安全认证的区分,4.4以后默认不支持https这种方式,但是提供了三种向下兼容的模式:
MIXED_CONTENT_NEVER_ALLOW:Webview不允许一个安全的站点(https)去加载非安全的站点内容(http),比如,https网页内容的图片是http链接。强烈建议App使用这种模式,因为这样更安全
MIXED_CONTENT_ALWAYS_ALLOW:在这种模式下,WebView是可以在一个安全的站点(Https)里加载非安全的站点内容(Http),这是WebView最不安全的操作模式,尽可能地不要使用这种模式
MIXED_CONTENT_COMPATIBILITY_MODE:在这种模式下,当涉及到混合式内容时,WebView会尝试去兼容最新Web浏览器的风格。一些不安全的内容(Http)能被加载到一个安全的站点上(Https),而其他类型的内容将会被阻塞。这些内容的类型是被允许加载还是被阻塞可能会随着版本的不同而改变,并没有明确的定义。这种模式主要用于在App里面不能控制内容的渲染,但是又希望在一个安全的环境下运行。

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
} 

4.4以后webview默认不保存cookie状态
如果要设置在4.4以后进行cookie保存,可以这样设置

if(Build.VERSION.SDK_INT >=Build.VERSION_CODES.LOLLIPOP){
    //android5.0以后webview默认不在保存cookie所以会导致第三方登录状态无法保存
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptThirdPartyCookies(webView,true);
}

Android 5.0

android5.0又称Android L(Lollipop)

1.安装时控制权限

用户可以在安装时关闭某些静态注册的权限。

2.用户体验优化

引入Material Design设计,开始采用扁平化设计,会拥有类似物理表面和边缘的视觉效果,动态阴影和动画方面的加强。

3.增加供开发者使用的官方控件

引入抽屉布局(DrawerLayout)、RecyclerView、CardView、SwipeRefreshLayout、ToolBar、drawerToggle等,开始能够自定义状态栏、标题栏、导航栏的颜色,设置控件阴影。

4.增加触摸反馈

当用户与用户界面进行交互时,触摸反馈在触摸点上提供了一种瞬时视觉确认,按钮的默认触摸反馈动画使用新的RippleDrawable类。

5.增加activity的转场动画

Android 6.0

Android6.0又称Android M(Marshmallow)

1.完整的权限控制

危险的权限都需要向系统动态申请,只静态注册申请权限会无效化。对于一些隐私权限会在第一时间提示用户是否授权。

新增API

ContextCompact.checkSelfPermission() 检测是否拥有权限

ActivityCompact.requestPermission() 申请授权

onRequestPermissionsResult() 用户是否授权

ActivityCompat.shouldShowRequestPermissionRationale() 权限解释(用户拒绝后出现)

Android 7.0

android7.0又称android N(Nougat)

1.后台优化

删除了三项隐式广播(CONNECTIVITY_ACTION、ACTION_NEW_PICTURE 和ACTION_NEW_VIDEO),优化内存使用和电量消耗。

Android 8.0

Android8.0又称Android O(oreo)

1.PinnedShortcuts功能

类似苹果的3DTouch,长按一个软件后可以弹出子菜单,然后就可以通过这个方式快捷的使用该应用的部分功能。

2.自适应图标支持多种形状

能在不同的设备型号上显示不同的图标形状。比如同一个桌面图标在一家 OEM 厂商的设备上显示为圆形,在另一家则可以显示为方形。通过定义两张图层(前景与背景)你可以制定你的桌面图标外观,你必须提供没有形状、阴影的 PNG 格式图象作为图层 Drawable。

3.通知渠道 — Notification Channels

通知渠道是由应用自行定义的通知内容类别,借助渠道,开发者可以让用户对不同种类的通知进行精细控制。

4.后台限制

对隐式广播、后台服务和位置更新等进行了后台自动限制

Android 9.0

Android9.0又称Android P(pie)

1.对全面屏的支持

模仿了ios提高屏占比的方案(前摄像头没有比较好的隐藏方案),即支持齐刘海。借助最新的提供的DisplayCutout类,开发者可以找到非功能区域的位置和形状,而非功能区域是不应显示功能的;使用getDisplayCutout()就可以获取这个区域的详细信息。

2.通知栏(状态栏)

现在只允许显示最多4个通知图标,不管当前设备是否是齐刘海,多出来的通知显示为三个点。Android P版本中,你还可以在消息中展示图像;新的Notification.Person类可以识别对话中的任务,包括他们的头像和URI。

3.多摄像头画面

可以即时获取到两个或者更多的相机数据流。

4.神经网络

任务可以声明它们估算的数据大小,信号预读取并且指定详细的网络需求。即根据任务需求的数据大小和当前的网络环境,在收费网络里延迟一些网络要求,而在不计费的网络里可以通过消息预获取来得到更好的用户体验。

5.Material Design迎来2.0时代

加入了大量的圆角设计,UI方面的优化。

6.Android Dashboard

用户可以看清楚自己在受手机上都干了哪些事情,从而提醒自己是否过多的浪费了不必要的时间,并在必要的时候提醒你应当休息一下。对某一款应用进行时间限制,用户使用到一定时间之后就会提醒,甚至让图标变灰色,以提醒用户尽量少用这个APP。

7.Wind Down模式

全局的夜间模式(个人感觉这个好人性化)

8.Adaptive Battery模式

一个电池优化模式,提高续航。在该模式下,程序不需要唤醒可以极大的降低资源占用,更关注用户最常用的服务和应用程序。

9.Shush模式

在这个模式下,如果用户将手机屏幕朝下放置,那么手机会自动调整为震动或者静音模式,只保留闹钟的声音。

10.检测用户的行为,让系统作出对应的动作

如插入耳机孔自动播放音乐,搜索“打车”自动显示打车软件等。
总结:主打对大屏幕和视觉体验的优化,对电池电量的优化,开始智能化,会对用户行为的学习及正确化引导,网络环境的智能适应,更加人性化。

Android 10.0

1.可折叠

基于强大的多窗口支持,Android 10扩展了跨应用程序窗口的多任务处理,并在设备折叠或展开时提供屏幕连续性来维护应用程序状态。有关如何优化可折叠应用程序的详细信息,请参阅开发人员指南。

2.5G 网络

Android 10承诺提供持续更快的速度和更低的延迟,并增加了对5G的平台支持,并扩展了现有api,以帮助您利用这些增强。您可以使用连接性api来检测设备是否具有高带宽连接,并检查连接是否已计量。有了这些,你的应用程序和游戏可以为5G以上的用户定制丰富的身临其境的体验。

3.Live Caption

此功能将自动向视频、播客和音频消息添加说明文字。这些说明是实时性和系统性,因此它们不限于特定的应用程序。Live Caption 文本框可以调整大小并在屏幕周围移动。Live Caption 不仅对那些发现自己处于音频无法选择的情况下的用户很有帮助,而且对听力障碍者来说也非常有益。

具体参考 https://youtu.be/YL-8Xfx6S5o

4.智能回复通知

使用机器学习来预测你在回复信息时可能会说些什么,这项功能在 Android P 中已经有提供,但仅限于谷歌专用的应用程序。Android 10 中,它已经内置到整个通知系统中,并且不仅提供对信息的回复建议,还可以获得建议的操作。比如,如果朋友要你出去吃饭,你的手机会建议你发送回应短信,并且它还会在 Google 地图中直接显示位置信息。此功能也适用于 Signal 等消息应用。

5.暗黑主题

Android Q 引入的另一项新功能是新系统暗黑主题,它适用于 Android 系统 UI 和 Android 设备上运行的应用。暗黑主题为开发人员带来许多好处,比如能够降低功耗、对于低视力和对强光敏感的用户来说可以提高屏幕内容可见度。

6.手势导航

引入手势导航后,应用程序不仅可以实现全屏幕的内容显示,还能最大限度地减少系统导航键的可见程度,这对于当下主流的全面屏手机尤为重要。
用户可以从左下角或右下角斜向滑动以启动 Google Assistant 助手,在触发的角落会有相应的 “小手柄” 指示器来作为视觉提示。
另外,团队还为包含导航抽屉(Navigation Drawer)的应用增加了一个名为 peek 的动作:用户轻压屏幕边缘然后再向内划动,便可拉出应用抽屉页面。所有版本的 DrawerLayout 均提供 peek 支持,其中以 DrawerLayout 1.1.0-alpha02 的体验最优。

7.隐私与安全

隐私是Android 10的核心关注点,从平台中更强的保护到考虑隐私的新功能。在之前版本的基础上,Android 10在保护隐私和给用户控制权方面做了广泛的改变,改进了系统UI,更严格的权限,并限制了数据应用程序的使用。有关如何在应用程序中支持这些功能的详细信息,请参阅Android 10开发人员站点。

8.位置数据控制

用户可以通过一个新的权限选项更好地控制他们的位置数据——他们现在可以允许一个应用程序只在应用程序实际使用时(在前台运行)访问位置。对于大多数应用程序来说,这提供了足够的访问权限,而对于用户来说,这在透明度和控制方面是一个很大的改进。要了解更多关于位置更改的信息,请参阅开发人员指南

9.保护网络位置数据

大多数用于扫描网络的api已经需要粗定位权限。Android 10增加了对这些api的保护,转而要求良好的位置权限,具体参考Android 10 保护网络位置数据

10.防止设备跟踪

Android 10引入了一些变化,让用户可以更好地控制外部存储中的文件和应用程序数据。应用程序可以将自己的文件存储在私有沙箱中,但必须使用MediaStore访问共享的媒体文件,并使用系统文件选择器访问新下载集合中的共享文件。

11.阻止不必要的干扰

Android 10防止应用程序从后台启动,而后台的应用程序会出人意料地跳到前台,并从另一个应用程序转移注意力。

12.安全

在Android上,我们一直在评估系统的安全性。通过和第三方的手机安全平台合作,我们分析师研究如Gartner的2019年5月手机操作系统和设备的安全,一个比较的Android平台报告(需要订阅),得分最高的评级在26个30类别,提前在多个点从网络安全身份验证和恶意软件保护。
在Android 10中,我们引入了更多的特性,通过在加密、平台强化和身份验证方面的改进来确保用户的安全。

13.存储加密

所有兼容Android 10的设备都需要加密用户数据,为了提高安全效率,Android 10使用了我们的新加密模式Adiantum

14.TLS 1.3

Android 10默认情况下支持TLS 1.3,这是对TLS标准的一个重大修订,具有性能优势和增强的安全性。

15.平台硬化

Android 10还包括对该平台几个安全关键领域的增强,以及对BiometricPrompt框架的更新,该框架在隐式和显式身份验证中都提供了对人脸和指纹的健壮支持。点击这里阅读更多关于Android 10安全更新的信息。

16.相机与多媒体

1.照片动态深度

应用程序现在可以请求一个动态深度图像,它由一个JPEG、XMP元数据(与深度相关的元素相关)和一个嵌入在同一文件中的深度和置信度图组成。动态深度是生态系统的一种开放格式,我们正在与合作伙伴合作,将其引入运行Android 10或更高版本的设备中。

2.音频播放捕获

现在,任何播放音频的应用程序都可以让其他应用程序使用新的音频回放捕获API捕获其音频流。除了启用标题和副标题之外,该API还允许您支持流行的用例,比如实时流媒体游戏。我们在构建这个新功能时考虑到了隐私和版权保护,因此一个应用程序捕捉另一个应用程序的音频的能力受到了限制。请阅读我们的博客文章。

3.音频和视频编解码器

Android 10增加了对开源视频编解码器AV1的支持,它允许媒体供应商使用更少的带宽向Android设备传输高质量的视频内容。此外,Android 10支持使用Opus进行音频编码,Opus是一种开放的、免版税的编解码器,针对语音和音乐流媒体进行了优化,HDR10+用于支持Opus的设备上的高动态范围视频。

4.本地MIDI 接口

对于用c++执行音频处理的应用程序,Android 10引入了一个本地MIDI API,通过NDK与MIDI设备通信。该API允许使用非阻塞读取在音频回调中检索MIDI数据,从而支持对MIDI消息进行低延迟处理。在这里用示例应用程序和源代码试一试。

5.Vulkan

Vulkan 1.1现在是所有运行Android 10或更高版本的64位设备的必备版本,也是所有32位设备的推荐版本。我们已经在生态系统中看到了支持Vulkan的强大势头——在运行Android N或更高版本的设备中,超过半数支持Vulkan 1.0.3或更高版本。随着Android 10的新要求,我们预计在未来的一年里,Android的使用率会进一步上升。

17.连接优化

1.改进的点对点和互联网连接

我们对Wi-Fi堆栈进行了重构,以提高隐私和性能,还改进了一些常见的用例,比如管理物联网设备和建议互联网连接——而不需要位置许可。网络连接api使得通过本地Wi-Fi管理物联网设备变得更加容易,可以实现配置、下载或打印等对等功能。网络建议api允许应用程序在互联网连接方面显示用户更喜欢的Wi-Fi网络。

2.无线模式

应用程序现在可以通过启用高性能和低延迟模式来请求自适应Wi-Fi。如果低延迟对用户体验非常重要,比如实时游戏、活动语音呼叫和类似的用例,那么这将是一个巨大的优势。该平台配合设备固件工作,以满足最低功耗的要求

18.系统优化

1.ART优化

ART运行时的改进可以帮助您的应用程序启动得更快、消耗更少的内存、运行得更流畅——而不需要您做任何工作。由谷歌Play提供的艺术简介,让艺术在运行之前就预先编译应用程序的部分。在运行时,分代垃圾收集使垃圾收集在时间和CPU方面更高效,减少jank,并帮助应用程序在低端设备上更好地运行。

2.神经网络1.2

我们添加了60个新操作,包括ARGMAX、ARGMIN、量化LSTM,以及一系列性能优化。这为加速更大范围的模型奠定了基础,比如用于目标检测和图像分割的模型。我们正在与硬件供应商和流行的机器学习框架(如TensorFlow)合作,优化和推出对NNAPI 1.2的支持。

3.更快更流行

通过Android 10,我们将继续专注于更快地将新平台引入设备,与我们的设备制造商和高通(Qualcomm)等硅合作伙伴密切合作。Treble项目发挥了关键作用,帮助我们将18个合作伙伴设备以及8个像素设备纳入今年的Beta测试项目,比去年增加了一倍多。更棒的是,我们预计这些设备将在今年年底前获得官方的Android 10更新,我们正在与几家合作伙伴合作推出其他新的旗舰产品和更新。我们已经看到Android 10的强大势头,在未来的几个月里,将有比以往任何Android版本更多的设备获得这个新版本。

Android 10也是第一个支持Project Mainline(官方名称为谷歌Play system updates)的版本,这是我们的新技术,用于保护Android用户,并通过重要的代码更改保持他们的设备的新鲜——直接来自谷歌Play。通过谷歌播放系统更新,我们可以在所有运行Android 10或更高版本的设备上更新特定的内部组件,而不需要设备制造商进行完整的系统更新。我们希望在接下来的几个月里为消费者设备带来第一次更新。

对于开发人员来说,我们希望Android 10中的这些更新能够促进平台实现在不同设备上的一致性,并随着时间的推移带来更大的一致性,从而降低开发和测试成本。

应用开发跟进Android 10

现在,随着今天Android 10的公开发布和设备更新即将到来,我们要求所有Android开发人员尽快更新您当前的应用程序,以保证兼容性,让您的用户顺利过渡到Android 10。

下面,我们给出开发的几点建议:

Android 10上安装应用

从谷歌Play将当前应用程序安装到运行Android 10或模拟器的像素或其他设备上,然后进行测试。你的应用程序应该看起来很棒,运行良好,功能齐全,并能正确处理Android 10的所有行为变化。观察隐私更改、手势导航、对仿生库的动态链接器路径的更改等方面的影响。

测试Android 10的隐私功能

测试的内容包括新的位置权限、范围存储、对后台活动启动的限制、对数据和标识符的更改等等。要开始查看顶级隐私更改清单,并查看隐私更改文档以了解更多测试领域。

测试受限制的非sdk接口

测试应用程序中的库和sdk

如果发现问题,请尝试更新到最新版本的SDK,或者向SDK开发人员寻求帮助。

更新和发布兼容的应用程序

当您完成测试并进行任何更新时,我们建议您立即发布兼容的应用程序。当用户更新到Android 10时,这将帮助您向他们提供一个平稳的过渡。

让应用程序经过测试并为新版本的Android做好准备,对于整个生态系统中更快的平台更新是至关重要的,所以如果可能的话,请优先考虑Android 10的适配工作。
Android 10 新功能和APIs

我们推荐每个应用程序都可以尝试下如下的一些功能:

黑暗主题:通过添加一个dark主题或启用Force dark,为启用系统范围的dark主题的用户提供一致的体验。
手势导航:在你的应用程序中支持手势导航,从边缘到边缘,并确保你的自定义手势是系统导航手势的补充。
折叠优化:通过优化可折叠设备,为当今的创新设备提供无缝体验。
链接

深色主题

https://developer.android.google.cn/guide/topics/ui/look-and-feel/darktheme

Force Dark 功能

https://developer.android.google.cn/guide/topics/ui/look-and-feel/darktheme#force_dark

手势导航

https://developer.android.google.cn/guide/navigation/gesturenav

针对折叠屏为应用进行优化

https://developer.android.google.cn/guide/topics/ui/foldables
除此之外,我们也推荐以下内容:

互动通知:如果您的通知包含消息,请在通知中启用智能回复,以吸引用户并让他们立即采取行动。
生物识别技术:如果您使用生物特征验证,请移动到BiometricPrompt,这是在现代设备上支持指纹验证的首选方法。
音频播放捕获:要支持字幕或游戏录制,请在应用程序中启用音频回放捕捉功能——这是接触更多用户并使应用程序更易访问的好方法。
编解码器:对于媒体应用程序,可以尝试AV1用于视频流,HDR10+用于高动态范围的视频。对于语音和音乐流,可以使用Opus编码,对于音乐家,可以使用本地MIDI API。
网络api优化:如果您的应用程序通过Wi-Fi管理物联网设备,请尝试使用新的网络连接api来实现配置、下载或打印等功能。
链接

通知内的智能回复及建议操作

https://developer.android.google.cn/about/versions/10/features#smart-suggestions
BiometricPrompt
https://developer.android.google.cn/training/sign-in/biometric-auth

音频回放捕捉功能

https://developer.android.google.cn/preview/features/playback-capture
AV1
https://en.wikipedia.org/wiki/AV1
Opus
http://opus-codec.org/
HDR 10+
https://en.wikipedia.org/wiki/High-dynamic-range_video#HDR10+
原生 MIDI API
https://developer.android.google.cn/ndk/guides/audio/midi
网络连接 API
https://developer.android.google.cn/guide/topics/connectivity/wifi-bootstrap

参考链接:
https://blog.csdn.net/xiangzhihong8/article/details/100534958
https://www.jianshu.com/p/c259c5c48390
https://android-developers.googleblog.com/2019/09/welcoming-android-10.html
https://developer.android.google.cn/about/versions/10/
https://www.android.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值