Android4.4 又称Android K(Kitkat)
1.webview的变化
4.4版本以后对http与https进行了安全认证的区分,默认不支持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里面不能控制内容的渲染,但是又希望在一个安全的环境下运行。
另外,webview默认不保存cookie状态。
Android5.0 又称Android L(Lollipop)
1.安装时控制权限
用户可以在安装时关闭某些静态注册的权限。
2.用户体验优化
引入Material Design设计,开始采用扁平化设计,会拥有类似物理表面和边缘的视觉效果,动态阴影和动画方面的加强。
3.增加供开发者使用的官方控件
引入抽屉布局(DrawerLayout)、RecyclerView、CardView、SwipeRefreshLayout、ToolBar、drawerToggle等,开始能够自定义状态栏、标题栏、导航栏的颜色,设置控件阴影。
4.增加触摸反馈
当用户与用户界面进行交互时,触摸反馈在触摸点上提供了一种瞬时视觉确认,按钮的默认触摸反馈动画使用新的RippleDrawable类。
5.增加activity的转场动画
Android6.0 又称Android M(Marshmallow)
1.完整的权限控制
危险的权限都需要向系统动态申请,只静态注册申请权限会无效化。对于一些隐私权限会在第一时间提示用户是否授权。
新增API:
ContextCompact.checkSelfPermission() 检测是否拥有权限
ActivityCompact.requestPermission() 申请授权
onRequestPermissionsResult() 用户是否授权
ActivityCompat.shouldShowRequestPermissionRationale() 权限解释(用户拒绝后出现)
Android7.0 又称android N(Nougat)
1.后台优化
删除了三项隐式广播(CONNECTIVITY_ACTION、ACTION_NEW_PICTURE 和ACTION_NEW_VIDEO),优化内存使用和电量消耗。
Android8.0 又称Android O(oreo)
1.PinnedShortcuts功能
类似苹果的3DTouch,长按一个软件后可以弹出子菜单,然后就可以通过这个方式快捷的使用该应用的部分功能。
2.自适应图标支持多种形状
能在不同的设备型号上显示不同的图标形状。比如同一个桌面图标在一家 OEM 厂商的设备上显示为圆形,在另一家则可以显示为方形。通过定义两张图层(前景与背景)你可以制定你的桌面图标外观,你必须提供没有形状、阴影的 PNG 格式图象作为图层 Drawable。
3.通知渠道 — Notification Channels
通知渠道是由应用自行定义的通知内容类别,借助渠道,开发者可以让用户对不同种类的通知进行精细控制。
4.后台限制
对隐式广播、后台服务和位置更新等进行了后台自动限制
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 又称Android Q
目前是Beta 1版,其主要特性有增强的隐私和安全功能,支持可折叠屏幕的增强功能,全新API接口,全新媒体编码解码器,全新摄像头功能,可扩展神经网络API(NNAPI),支持图形API Vulkan 1.1,以及更快的应用启动速度。
1.设备位置
让用户能够控制应用程序何时可以获得位置信息,包括应用程序何时不使用位置信息。用户可以设置应用程序无法使用位置信息,可以选择只有应用程序在运行或者在后台运行时才能使用其位置信息。
2.存储
Android Q开发者预览版提供对共享文件访问的更多控制。用户将能够通过权限控制应用程序对照片、视频和音频集的访问。应用程序必须使用系统文件选择器进行数据下载,这能够让用户决定应用程序可以访问哪些下载文件。开发人员还必须改变应用程序在外部存储上使用共享区域的方式。
3.后台运行
减少应用程序意外跳出并占据屏幕等干扰。应用程序将被禁止在后台启动Activity组件。应用程序开发人员可以通过高优先级通知或全屏图快速吸引用户的注意力,比如来电或警报应用。
4.用户数据ID
Android Q开发者预览版限制对不可重置设备标识符的访问,其中包括设备IMEI、序列号和类似标识符。默认情况下,当连接到不同的Wi-Fi网络时,Android Q也会随机分配设备的MAC地址。
5.对可折叠屏幕的支持
应用程序将能够更好地适配可折叠屏幕和其他大屏幕设备。
6.共享快捷方式
在全新操作系统下,应用程序能够与其他应用更快共享快捷方式,用户直接跳转到另一个应用共享内容的速度会变得更快。
7.设置面板
能够在应用程序上下方直接显示关键系统设置。新的设置面板API使用Android 9 Pie中引入的slice功能,为用户提供一个带有相关系统设置(如Wi-Fi、飞机模式、移动数据、NFC和音频音量)的浮动UI。用户无需离开应用程序进行系统设置。
8.Sharing Shortcuts
Android Q新增了一项名为Sharing Shortcuts的特性,允许用户直接跳转至另一个应用进行分享。
开发者首先需要发布一个分享目标,该目标随后会在应用中启动一个包含内容附件的特定Activity,并通过share UI显示给用户。因为分享目标已提前发布,所以share UI可在Activity启动后立即加载分享内容。
9.连接权限、隐私和安全性
对于蓝牙、蜂窝网络和Wi-Fi连接,需要FINE位置权限,从而提高设备连接家庭、工作网络以及开放网络的安全性。
10.改进的点对点(peer-to-peer)和互联网连接
对Wi-Fi堆栈进行了重构,以改善隐私、性能以及管理物联网设备和建议互联网连接等常见用例。Android Q将自行处理Wi-Fi扫描,在Wi-Fi选择列表中显示匹配网络,并在这些网络的范围内根据历史记录进行连接。
11.Wi-Fi性能模式
高性能和低延迟模式允许开发人员调用相应函数请求自适应Wi-Fi。谷歌希望这些功能有助于实时游戏、活动语音呼叫等类似用例。
12.支持动态深度图像
应用程序可以请求动态深度图像,该图像包含一个JPEG、与深度相关的XMP元数据,以及嵌入在同一文件中的深度和置信度图。这使得开发人员可以支持3D图像和AR摄影等用例。动态深度将是Android生态系统中的一种开放图像格式。
13.全新的音频视频编码解码器
支持开源视频编解码器AV1,音频编码Opus以及HDR10+。
14.原生MIDI API
这个API允许在C++环境中执行音频处理的应用程序通过NDK与MIDI设备通信。它允许使用非阻塞读取在音频回调中检索MIDI数据,从而支持对MIDI消息(示例应用程序源代码)进行低延迟处理。
15.支持Vulkan原生渲染引擎ANGLE
对渲染引擎ANGLE的支持使得应用OpenGL ES的应用程序和游戏将能够利用Vulkan的性能和稳定性,自由度和开放度都非常高。
16.Vulkan扩展
谷歌正在与设备制造商合作伙伴合作,使所有运行Android Q或更高版本64位设备能够兼容Vulkan 1.1。因此,Vulkan将成为应用程序和游戏所使用的统一高性能图形API。
17.神经网络API 1.2
其中包括60个新项目,包括ARGMAX, ARGMIN,量化LSTM,以及一系列性能优化。谷歌正在与硬件供应商和诸如TensorFlow等主流机器学习框架合作,优化对NNAPI 1.2的支持。
18.ART性能
继续改进应用运行模式,帮助应用程序启动更快,消耗更少的内存,并帮助应用程序在低端设备上运行得更好。
所有TLS连接都默认添加并启用了对TLS 1.3支持。谷歌表示,其基准测试表明,与TLS 1.2相比,使用TLS 1.3可以更快建立安全连接,速度高达40%。
通过公共API实现更多兼容性:谷歌限制了对更多非SDK接口的访问,并要求开发人员使用公共接口。
(以上内容为网上资料整合)