2014年10月发布了Android5.0

2015年5月发布了Android6.0

2016年8月发布了Android7.0

2017年8月22日发布了Android 8.0的正式版Android Oreo(奥利奥)

5.0

Android 5.0特性

Material Design

提起Android5.0,就不得不说Material Design,扁平化的设计理念。新的视觉语言,在基本元素的处理上,借鉴了传统的印刷设计,字体版式、网格系统、空间、比例、配色、图像使用等这些基础的平面设计规范。

之前的一些需要自定义的效果,现在都提供了系统级的支持,用起来更加方便了,而且android提供的效果看起来更加流畅。这里篇幅较多,本着不重复造轮子的思想,笔者找了一片写的很全面的Material Design的网站,图文并茂,值得学习。

Meterial Design开发者参考文档。 http://www.materialdoc.cn/

支持多种设备

现在无论是智能手机、平板电脑、笔记本电脑、智能电视、汽车、智能手表甚至是各种家用电子产品,谷歌的Android系统已经可以在所有设备的屏幕上出现。而这一概念与微软不谋而合,之前微软也宣布将会把Windows 10打造成跨设备跨平台的统一系统,帮助自己走出困境。

全新通知中心设计

谷歌在Android Lollipop中加入了全新风格的通知系统。改进后的通知系统会优先显示对用户来说比较重要的信息,而将不太紧急的内容隐藏起来。用户只需要向下滑动就可以查看全部的通知内容。

新的通知系统另外一个很酷的新功能是在锁屏界面也可以直接查看通知消息了。不仅如此,用户还可以直接在锁屏的情况下就行回复或进入应用。另外,如果在操作手机的过程中有电话进入,也不会进行全画面切换,而是同样以弹出通知的方式告知用户。

支持64位ART虚拟机

新系统不仅在视觉效果上带来了巨大的变化,Android Lollipop还在内部的性能上进行了飞跃。首先,新系统放弃了之前一直使用的Dalvik虚拟机,改用了ART模式,实现了真正的跨平台编译,在ARM、X86、MIPS等,无处不在。

ART 虚拟机编译器在内存占用及应用程序加载时间上进行了大幅提升,谷歌承诺所有性能都会比原来提升一倍。另外,对64位的支持也让ART虚拟机如鱼得水,开发者可以针对像ARM Cortex-A57这样的64位架构核心开发应用程序。Android Lollipop支持更大的寄存器,支持新的指令集,提升了内存寻址空间,未来Android智能手机将支持4GB以上的内存。

《Android ART运行时无缝替换Dalvik虚拟机的过程分析》 http://blog.csdn.net/luoshengyang/article/details/18006645

Project Volta电池续航改进计划

Project Volta计划增加了新工具可以让开发者能够更容易的找出为何自己的应用程序会对电量产生比较大的影响,同时确保在执行某型任务时将手机电量的影响降至最低。首先,Battery Historian可以列出手机电量消耗的详细情况,帮助开发者识别电量消耗的原因或者是哪个硬件或任务对电池寿命的影响比较大;而Job Scheduler API则可以让开发者更容易的选择合适的时机触发电量消耗比较高的任务,避免在低电量或未完成充电时更新应用程序。

上面是针对开发者的改进,而在用户层面上,Android Lollipop增加了Battery Saver模式,这与三星和HTC上的超级省电模式有些类似。在低电量的时候系统会自动降低屏幕亮度、限制自动更换背景等功能。

全新的“最近应用程序”

除了界面风格设计的改变之外,新的最近应用界面还借鉴了Chrome浏览器的理念,采用单独的标签展示方式。更重要的是,谷歌已经向开发者开放了API,所以第三方开发人员可以利用这个改进为特定的应用增加全新的功能。

改进安全性

现在个人识别解锁还是一个比较新鲜的智能概念,当用户的蓝牙耳机连接到手机或平板电脑时,设备可以基于当前的位置或用户的声音自动解锁。比如当特定的智能手表出现在Android设备的附近,那么就会直接绕过锁屏界面进行操作。而Android Lollipop也增加了这种针对特定特任识别解锁的模式。换句话说,当设备没有检测到附近有可用的信任设备时,就会启动安全模式防止未授权访问。

另外,Android Lollipop还默认开启了系统数据加密功能,并且通过SELinux执行应用程序,这就意味着对于恶意软件来说,新系统变得更加安全。

不同数据独立保存

谷歌表示Android Lollipop将拥有一个全新的特性,让用户通过一台设备就可以搞定所有的工作和生活娱乐活动。该特性首先将各种数据独立保存,并且让所有新数据的生成都有依据。

我们已经看到谷歌已经与三星加强了合作,包括三星的Knox安全系统同样可以像Android Lollipop一样将重要数据和其它数据分开保存。另外谷歌还允许向三星以外的Android设备提供支持。

改进搜索

谷歌将新系统的搜索功能重点放在了“重新发现”上,因此这意味着Google Search将会更好的意识到用户正在做什么。比如系统会根据用户当前的位置自动过滤无关的搜索结果。

另外,当用户在进行应用搜索时,可以直接展示相似或部分提示,并且进入特定的应用程序而无需将内容全部输入。

支持蓝牙4.1、USB Audio、多人分享等其它特性

Android Lollipop还增加了多个新的API支持、蓝牙4.1、USB Audio外接音响及多人分享等功能。其中多人分享功能可以在用户手机丢失的情况下,使用其它Lollipop设备登录账户,从云端下载联系人、日历等资料,并且不影响其它设备的内容。

2015年5月发布了Android6.0

6.0

动态权限管理

Android 6.0引入了动态权限管理,将标记为危险的权限从安装时权限(Install Time Permission)模型移动到运行时权限模型(Runtime Permissions):

安装时权限模型(Android5.1以及更早):用户在应用安装和更新时,对危险权限授权。但是OEM和运行商预装的应用将自动预授权。

运行时权限(Android6.0及以后):用户在应用运行时,对应用授予危险权限。由应用决定何时去申请权限(例如,在应用启动时或者用户访问某个特性时),但必须容许用户来授予或者拒绝应用对特定权限组的访问。OEM和运营商可以预装应用,但是不能对权限进行预授权。

Android6.0并不改变正常权限的行为。正常权限指的是所有非危险(non-dangerous)权限,包括normal,system和signature 权限。正常权限风险较低,用于容许应用以最小风险来访问隔离的应用级别的特性。在Android5.1和早期版本中,系统在安装时自动将正常权限授予请求的应用,并不提示用户

运行时权限模型必须在所有运行Android6.0的设备上是一致的。这通过CTS来实施。

应用必须在运行时提示用户进行授权。

带有危险权限的预装应用,必须符合API level 23,必须维护Android6.0的AOSP权限模型(例如,应用安装的UI流程不应该脱离AOSP的packageInstaller的实现;用户可以撤销预装应用的危险权限;等等)。

无界面的应用必须使用Activity来申请权限,或者与其他有相应权限的应用共享UID。

指纹识别(Fingerprint Support)

说到指纹识别,很多用户都会觉得现在的中高端安卓手机都支持,但事实上这些安卓手机的指纹识别都是各个厂商自行开发的并没有系统底层的支持。Android 6.0则在系统层面加入指纹识别,能提供原生指纹识别API,这不但降低了厂商开发指纹识别模块的成本,最重要的是原生指纹识别将会大大提升安卓手机的指纹识别支付安全性。

APP关联(App Links)

Android M加强了软件间的关联,谷歌在现场展示了一个例子,比如你的手机邮箱里收到一封邮件,内文里有以个Twitter链接,用户点击该链接可以直接跳转到Twitter应用,而不再是网页。

Chrome App Links这个就相当于在Web中使用Scheme来进行App的跳转功能一样,只不过这里Chrome默认就支持了,用户只需要搜索相关的关键词,就可以直接显示App,然后通过App Link直接启动App。这个东西对用户来说应该是一件非常好、方便的事情,但由于国内这些浏览器的问题,不知道能否会兼容这个功能。

低电耗模式和应用待机模式

此版本引入了针对空闲设备和应用的最新节能优化技术。这些功能会影响所有应用,因此请务必在这些新模式下测试您的应用。

· 低电耗模式:如果用户拔下设备的电源插头,并在屏幕关闭后的一段时间内使其保持不活动状态,设备会进入低电耗模式,在该模式下设备会尝试让系统保持休眠状态。在该模式下,设备会定期短时间恢复正常工作,以便进行应用同步,还可让系统执行任何挂起的操作。

· 应用待机模式:应用待机模式允许系统判定应用在用户未主动使用它时处于空闲状态。当用户有一段时间未触摸应用时,系统便会作出此判定。如果拔下了设备电源插头,系统会为其视为空闲的应用停用网络访问以及暂停同步和作业。

取消支持 Apache HTTP 客户端

如果您的应用使用该客户端,并以 Android 2.3(API 级别 9)或更高版本为目标平台,请改用 HttpURLConnection 类。此 API 效率更高,因为它可以通过透明压缩和响应缓存减少网络使用,并可最大限度降低耗电量。

硬件标识符访问权

为给用户提供更严格的数据保护,从此版本开始,对于使用 WLAN API 和 Bluetooth API 的应用,Android 移除了对设备本地硬件标识符的编程访问权。

Android 密钥库变更

从此版本开始,Android 密钥库提供程序不再支持 DSA。但仍支持 ECDSA。

停用或重置安全锁定屏幕时(例如,由用户或设备管理员执行此类操作时),系统将不 再删除需要闲时加密的密钥,但在上述事件期间会删除需要闲时加密的密钥。

存储

在之前,安卓系统虽然可以支持TF卡扩展,但TF卡扩展的容量只能当成外置存储。虽然用户可以把照片、音乐等内容放进去,但App不能安装到其中。在安卓6.0中,当首次插入TF卡的时候,系统会询问会将TF卡作为外置还是内置储存。如果选择作为内置存储,系统则会对TF卡格式化并加密——注意,这会丢失数据!然后,TF卡的容量就和设备的内置存储融合了。

2016年8月发布了Android7.0

Android 7.0 新特性

Android7.0提供新功能以提升性能、生产效率和安全性。

关于Android N的性能改进,Android N建立了先进的图形处理Vulkan系统,能少的减少对CPU的占用。与此同时,Android N加入了JIT编译器,安装程序快了75%,所占空间减少了50%。

在安全性上,Android N加入了全新安全性能,其中包括基于文件的数据加密。谷歌移动版Chrome能识别恶意网站。

Android N可以进行无缝更新,与Chromebook一样,用户将不再需要下载安装,也不再需要进行重启。

在效率提升上,Android N可以自动关闭用户较长时间未使用的应用程序。在通知上新增了直接回复功能,并支持一键全部清除功能

分屏多任务

进入后台多任务管理页面,然后按住其中一个卡片,然后向上拖动至顶部即可开启分屏多任务,支持上下分栏和左右分栏,允许拖动中间的分割线调整两个APP所占的比例。

全新下拉快捷开关页

在Android 7.0中,下拉打开通知栏顶部即可显示5个用户常用的快捷开关,支持单击开关以及长按进入对应设置。如果继续下拉通知栏即可显示全部快捷开关,此外在快捷开关页右下角也会显示一个“编辑”按钮,点击之后即可自定义添加/删除快捷开关,或拖动进行排序。

新通知消息

通知消息快捷回复

加入了全新的API,支持第三方应用通知的快捷操作和回复,例如来电会以横幅方式在屏幕顶部出现,提供接听/挂断两个按钮;信息/社交类应用通知,还可以直接打开键盘,在输入栏里进行快捷回复。

通知消息归拢

Android7.0会将同一应用的多条通知提示消息归拢为一项,点击该项即可展开此前的全部通知,允许用户对每个通知执行单独操作。

菜单键快速应用切换

双击菜单键,就能自动切换到上一个应用。此外,如果你不停地点击菜单键的话,就会在所有应用中不间断地轮换,应用窗口会自动放大,顶部还会出现倒计时条,停止点击且倒计时结束后,当前应用会自动放大并返回到前台。

改进的Doze休眠机制

谷歌在Android7.0中对Doze休眠机制做了进一步的优化,在此前的Android6.0中,Doze深度休眠机制对于改善安卓的续航提供了巨大的作用。而在Android67.0中,谷歌对Doze进行了更多的优化,休眠机制的使用规则和场景有所扩展,例如只要手动在后台删掉应用卡片,关屏后该应用就会被很快深度休眠。

系统级电话黑名单功能

Android7.0将电话拦截功能变成了一个系统级功能。其它应用可以调用这个拦截名单,但只有个别应用可以写入,包括拨号应用、默认的短信应用等。被拦截号码将不会出现在来电记录中,也不会出现通知。另外用户也可以通过账户体系备份和恢复这个拦截名单,以便快速导入其它设备或账号。

夜间模式

Android7.0中重新加入了夜间深色主题模式,该功能依然需要在系统调谐器中开启,从顶部下划打开快捷设置页,然后长按其中的设置图标,齿轮旋转10秒钟左右即可提示已开启系统调谐器,之后用户在设置中即可找到“系统调谐器”设置项。点开其中的“色彩和外观”,即可找到夜间模式,开启后即可使用全局的深色主题模式,同时亮度和色彩也会进行一定的调整,该功能可以基于时间或地理位置自动开启。另外,系统调谐器中也提供了RGB红绿蓝三色调节滑动条,允许用户手动精细调节,例如减少蓝色或增加红色以提供类似护眼模式的效果。

流量保护模式

新增的流量保护模式不仅可以禁止应用在后台使用流量,还会进一步减少该应用在前台时的流量使用。推测其有可能使用了类似Chrome浏览器的数据压缩技术。此外,谷歌还扩展了ConnectivityManager API的能力,使得应用可以检测系统是否开启了流量保护模式,或者检测自己是否在白名单中。Android7.0允许用户单独针对每个应用,选择是否开启数据保护模式。

2016年8月发布了Android7.0

Android 8.0 新变化汇总

1、Android 8.0 大幅提升了开机速度

  对 Pixel 而言,开机速度提升了一倍,和旗舰机型三星 Galaxy S8 对比,嗯,看看开心就好。

2、锁屏界面变化很小,字号缩小了一圈,为锁屏壁纸和通知等内容留出更多视觉空间

  不过,在动辄 0.1、0.2 秒解锁的指纹识别普及后,锁屏界面已不那么重要了。

3、桌面更新体现在「可自定义图标的形状」上

  在 Pixel 桌面,你可以为图标选择圆形、方形或者圆角矩形等样式。另一个细节是,以前在 Google Play 市场设置的「将新应用图标添加到桌面」选项,如今需要在 Pixel 桌面中设置。

五种桌面图标形状

4、引入了「通知圆点」功能,但不会显示具体通知数量,只会在图标右上角显示一个圆点

  这儿有个细节,这个出现在右上角的圆点,会从图标左下角提取颜色,所以每个 APP 的圆点都是不一样的颜色。

5、长按图标,能看到图标菜单和通知概览

  长按即可。目前最实用的,是支付宝的快捷付款功能。

6、全新的状态栏

  底色从之前的黑色,到第一个开发者预览版时的黑白任选,再到正式版的只剩下白色,看起来清爽不少,动画也更优雅。

7、通知栏变得更加可爱

  系统只默认完整显示最顶部的通知,其余通知被压缩,可以用手势下拉查看全部内容。还有就是, Google Play Music 和 YouTuBe 的通知,会根据内容或专辑封面增添通知色彩。

8、在展开或缩起所有通知时,最左边的小图标会有可爱的动画出现

9、设置界面相对与 Android 7.1.2 引入了层级概念

  将不常用设置项归纳到一起,保持整体的简洁,但也增加了寻找的难度。

设置界面

10、系统应用的默认图标统一更新为绿色圆形

  这个图标除了系统应用外,一些懒得画图标的第三方应用也可以直接用上,呵呵,这些开发者是有多懒。

11、安全性选项中,Android 8.0 引入了「Google Play 保护机制」

  它会定期检查手机所安装的应用是否存在有害行为,如果发现安全风险,系统会通知用户。

12、每个 APP 的「安装未知应用」功能将默认被限制

  比如在 Chrome 浏览器上下载一个 apk 安装包,如果未经允许,这个安装包是无法安装的。安装应用的过程中有明确进度条可以查看。

13、终于可以直接在铃声设置界面添加第三方手机铃声

  不用将喜欢的铃声放进 ringtones 文件夹了。

Android 8.0二十大新特性,这些地方像极了iOS?

接下来要说的两个功能,几乎是到了最后的第四个开发者预览版才能够正常使用。

14、画中画模式

  使用 Chrome 全屏播放视频或者在 YouTuBe 观看视频时,按下 Home 键就可以进入画中画模式。

15、Autofill 功能

  能够通过你存储在谷歌帐号上的帐号密码,自动在登录应用时填充。

16、在 Android 8.0 的开发者选项中,还出现了蓝牙音频解码器加

  入了由索尼提供的 LDAC 无线音效技术,索尼蓝牙耳机用户有福了。另外,像 aptX 和 aptX HD等无线技术也有提供。

  在没有开启开发者选项的情况下,系统会自动帮你做出选择,比如在连接索尼蓝牙耳机后,会自动切换到 LDAC 模式,而连接三星蓝牙耳机时,会切换回 aptX。

17、智能文本选择

  举个例子,在邮件中选择一个带地址的文本,系统除了弹出复制和全选之外,还会直接提供谷歌地图的快捷方式,让用户直接在地图中查看这个地址。

18、Pixel 自带相机中增加了双击放大功能

这功能可能是为双摄两倍变焦做准备的。

2018年8月发布9.0

Android9.0新特性

新特性

室内WIFI定位

“刘海”屏幕支持

通知

增强体验

通道设置、广播以及免打扰

多相机支持和相机更新

新的图片解码

动画

HDR VP9视频,HEIF图像压缩和媒体API

JobScheduler中的数据成本敏感度

神经网络API 1.1

改进表单自动填充

安全增强

Android 备份加密

室内WIFI定位

Android P增加了对RTT Wi-Fi协议的支持,以此作为室内定位的基础。

在支持硬件支持的Android P设备上,开启定位并且打开WIFI扫描后就可以使用该功能进行定位。应用可以测量与附近支持RTT的Wi-Fi接入点(AP)的距离。设备必须启用位置并启用Wi-Fi扫描(在设置>位置下)。使用这个功能不会连接到WIFI,而且为了保持隐私,只有手机能确定AP到设备的距离,反之则不能。

如果设备测量到3个或更多AP的距离,则可以使用多点定位算法来估算最适合这些测量值的设备位置。其结果通常可以精确到1至2米范围。

//注:该处在2018.3.8的版本中还有bug,WIFI_RTT_RANGING_SERVICE没有添加到@ServiceName标记中

WifiRttManager wifiRttManager = (WifiRttManager) getSystemService(Context.WIFI_RTT_RANGING_SERVICE);

RangingRequest.Builder builder = new RangingRequest.Builder();

builder.addAccessPoint();

builder.addWifiAwarePeer();

wifiRttManager.startRanging(builder.build(), () -> {...}, new RangingResultCallback{...});

该功能API在android.net.wifi.rtt下。

“刘海”屏幕支持

Android P 支持了手机屏幕是不规则形状时的获取(主要是应对刘海屏吧)。可以使用类似windowInsets.getDisplayCutout()来获取一些你想要的信息。

//您可以在自己的View中获取到不应该绘制的部分屏幕

getRootWindowInsets().getDisplayCutout().getBounds();

getRootWindowInsets().getDisplayCutout().getSafeInsetBottom();

getRootWindowInsets().getDisplayCutout().getSafeInsetLeft();

getRootWindowInsets().getDisplayCutout().getSafeInsetRight();

getRootWindowInsets().getDisplayCutout().getSafeInsetTop();//也可以设置Window的属性

WindowManager windowManager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);

WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();

layoutParams.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;

layoutParams.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT;

· layoutParams.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;

通知

Android P还增加了许多对通知的支持。

增强体验

从Android 7.0开始,就优化了Android通知栏的体验。

在P当中,又新增了下述功能:

支持图像:Android P现在在手机上的消息通知中显示图像。您可以在消息上使用setData()来显示图像。

会话参与者的简化支持:新的Notification.Person类用于标记参与聊天的人,包括他们的头像和URI。还有其他的一些API,现在都用Person类作为标志参数而不是CharSequence。

Notification.Builder builder = new Notification.Builder(this, "a");//新的聊天对象

Notification.Person p = new Notification.Person();//在MessagingStyle中用Person代替了以往的CharSequence

Notification.MessagingStyle messageStyle = new Notification.MessagingStyle(p);

Notification.MessagingStyle.Message message = new Notification.MessagingStyle.Message("aaa", 100, p);//可以显示图像了

message.setData();

messageStyle.addMessage(message);

builder.setStyle(messageStyle);

Notification notification = builder.build();

将回复另存为草稿:当用户无意中关闭消息通知时,您的应用可以检索系统发送的EXTRA_REMOTE_INPUT_DRAFT来获取一些信息。

确定对话是否是群组对话:您可以使用setGroupConversation()来有目的地将对话标识为群组对话或非群组对话。

为意图设置语义动作:setSemanticAction()方法允许您为某个动作提供语义含义,如标记为读取,删除,回复等。

SmartReply

通道设置、广播以及免打扰

Android O引入了Notification Channels,可让您为要显示的每种类型的通知创建一个用户可自定义的频道。 Android P通过以下更改简化了通知渠道设置:

阻止渠道:用户现在可以在应用的通知设置中阻止整组渠道。您可以使用isBlocked()方法来确定某个组何时被阻止,不对被阻止的组发送消息。

此外,您的应用可以使用新的getNotificationChannelGroup()方法查询当前渠道设置。

新的广播类型:Android系统现在在通知频道和频道组的阻塞状态发生变化时发送广播。拥有被阻止的频道或群组的应用可以监听这些Intent并作出相应的反应。有关这些Intent的更多信息,请参阅NotificationManager参考中更新后的常量列表。有关对广播Intent作出反应的信息,请参阅广播。

新的免打扰优先级类别:NotificationManager.Policy有两个新的策略常量:PRIORITY_CATEGORY_ALARMS(按优先级排列)和PRIORITY_CATEGORY_MEDIA_SYSTEM_OTHER(优先排列媒体,系统和游戏声音)

多相机支持和相机更新

现在,可以同时从两个或更多的物理摄像头同时获得数据流。在具有双前置或双后置摄像头的设备上,可以实现无法使用单个摄像头实现的功能,例如无缝缩放,散景 ,和立体视觉。 该API还允许您调用合理的或者融合的相机流,以便在两台或更多台相机之间自动切换。

相机的其他改进包括新的android.hardware.camera2.params.SessionConfiguration,有助于减少初始捕捉期间的延迟。而Surface共享可让相机客户端处理各种使用情况,而无需停止和启动相机流式传输。 此外还添加了基于显示的闪光灯支持的API。

Android P还支持支持deveices上的外部USB / UVC相机。

新的图片解码

Android P新增了ImageDecoder类,为解码图像提供了一种更优的方法。由此可以用ImageDecoder来替换BitmapFactory和BitmapFactory.Options。更多使用方法请参见官方API。

String filePath = "test";

File file = new File(filePath);

ImageDecoder.Source source = ImageDecoder.createSource(file);

ImageDecoder.decodeBitmap(source);

ImageDecoder.decodeDrawable(source, (imageDecoder, imageInfo, source1) -> {

//裁剪图像

imageDecoder.setCrop();

//调整大小

imageDecoder.setResize();

});

BitmapFactory.decodeFile(filePath);

动画

Android P引入了一个新的AnimatedImageDrawable类来绘制和显示GIF和WebP动画图像。 AnimatedImageDrawable与AnimatedVectorDrawable类似,因为AnimatedImageDrawable动画也是基于RenderThread工作的。 RenderThread本身在内部使用工作线程进行解码,因此解码不会干扰RenderThread。 这种实现允许您的应用拥有动画图像,而无需管理其更新或干扰应用的UI线程。

Drawable d = ImageDecoder.decodeDrawable(...);if (d instanceof AnimatedImageDrawable) {

// Prior to start(), the first frame is displayed

((AnimatedImageDrawable) d).start();

}

HDR VP9视频,HEIF图像压缩和媒体API

Android P增加了对HDR VP9 Profile 2的内置支持。

Android P支持HEIF图像(隔壁IOS在2017年10月推的新的图片编码)编码。

Android P还引入了MediaPlayer2。该播放器支持使用DataSourceDesc构建的播放列表。

MediaPlayer2.create();

· 1

注:笔者对图像/视频编解码方面不甚了了,有兴趣的可以自行参阅API。

JobScheduler中的数据成本敏感度

在Android P当中,JobScheduler得到了改进,使其能够更好地为用户处理与网络相关的工作,并配合运营商分别提供网络状态信号。

Jobs现在可以定义出其估计的数据大小,预取信号,并指定详细的网络要求 - 运营商可以将网络报告为拥塞或不用流量计费的。然后,JobScheduler根据网络状态管理工作。例如,当网络拥塞时,JobScheduler可能推迟大型网络请求。在不用流量计费的的网络上时,JobScheduler可以预读来改进用户体验。

神经网络API 1.1

对神经网络API新增了9个功能:Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Strided Slice, Mean, Div, Sub, and Squeeze。

改进表单自动填充

Android 8.0(API26)引入了自动填充框架,这使得在应用中填写表单变得更加容易。 Android P引入了自动填充服务并实现了多项改进,以在填写表单时进一步增强用户体验。 有关更多详细信息,请参阅自动填充框架。

注:该自动填充框架笔者应是Google服务中的内容,国内用户可能会体验不到(或许有厂商自己的版本)。

安全增强

Android P引入了许多新的安全功能,包括统一的指纹验证对话框和敏感交易的高确信度的用户确认。 有关更多详细信息,请参阅安全更新页面。

Android 备份加密

Android P支持使用客户端密钥对Android备份进行加密。 这项隐私措施,需要设备的PIN,图案密码或标准密码才能从用户设备备份的数据中恢复数据。

要了解有关在Android设备上备份数据的更多信息,请参阅数据备份概述。

Android5.0,6.0,7.0,8.0,9.0区别相关推荐

  1. mysql5.7与8.0用那个_MySQL 5.7 vs 8.0,哪个性能更牛?

    背景 测试mysql5.7和mysql8.0 分别在读写.只读.只写模式下不同并发时的性能(tps,qps) 前提测试使用版本为mysql5.7.22和mysql8.0.15 sysbench测试前先 ...

  2. windows 如何安装oracle 补丁包,Windows Server 2003 上安装 Oracle10g(10.2.0.1)并升级 至补丁(10.2.0.4) 图解...

    Windows Server 2003 上安装 Oracle10g(10.2.0.1)并升级 至补丁(10.2.0.4) 图解 第一部分:安装 Oracle 10.2.0.1 1.选择安装方法 2.选 ...

  3. 「Web2.0」的创造者表示:为Web3.0喝彩还为时尚早

    题图 | Kelly Sullivan / Getty Images for LinkedIn 图/ADOBE STOCK 最近Web3.0这个概念真的太火了. 简单来说,Web3.0将是去中心化.去 ...

  4. DotNetTextBox V3.0 所见即所得编辑器控件 For Asp.Net2.0(ver 3.0.9Beta)

    英文名:DotNetTextBox V3.0 WYSWYG Web Control For Asp.Net2.0 中文名:DotNetTextBox V3.0 所见即所得编辑器控件 For Asp.N ...

  5. ERROR: tensorboard 1.14.0 has requirement setuptools=41.0.0, but you'll have setuptools 39.1.0 whic

    ERROR: tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you'll have setuptools 39.1.0 w ...

  6. tensorflow-tensorboard 0.4.0rc3 has requirement bleach==1.5.0, but you'll have bleach 2.0.0 which is

    tensorflow-tensorboard 0.4.0rc3 has requirement bleach==1.5.0, but you'll have bleach 2.0.0 which is ...

  7. device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/dev

     device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/dev 解决方法: sess = tf.Sess ...

  8. linux usb3.0改2.0,TX1入门教程硬件篇-切换USB2.0与USB3.0

    TX1入门教程硬件篇-切换USB2.0与USB3.0 说明: 介绍如何切换TX1USB口的为2.0或3.0版本 步骤: 编辑extlinux.conf文件,修改usb_port_owner_info= ...

  9. 剑指offer:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,..,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]

    给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]. 不能使用除 ...

  10. slim android7 nexus7,【畅玩7.0】加一直升pure nexus 7.0系统简单教程(1106更新)

    本帖最后由 Mr不将就 于 2017-9-5 08:55 编辑 前言:作为一加老用户,看着广大网友依然坚守在第一代一加的版块,孜孜不倦的为大家搬运资源.分享心得体会,心里真是挺感动的.好久没发帖子了, ...

最新文章

  1. 计算机视觉多目标检测整合算法
  2. C0301 代码块{}的使用,重定向, 从文件中读取行
  3. asterisk 常用命令
  4. Linux下文件的权限管理及网络连接
  5. jieba结巴分词--关键词抽取_初学者 | 知否?知否?一文学会Jieba使用方法
  6. android之list排序
  7. Linux安全加固手册
  8. linux 终端命令字体大小,如何更改Ubuntu终端的字体和字体大小
  9. Java 延迟队列 DelayQueue 的原理
  10. 吴翰清(道哥):我对计算的理解
  11. ResNet解析(二)
  12. Vivado时钟之间的三种关系
  13. maya模型展开UV
  14. The inferior stopped because it received a signal from the Operating system signal name: SIGSEGV
  15. 面试可能遇到java基础知识
  16. 聊聊我的故事 | 我丰富的十二年···
  17. vue -- watermark水印添加方法
  18. 2022年SCAU计算智能题库
  19. 「掘虫者说」ERROR 1040 (HY000): Too many connections 1040
  20. 福州大学计算机科学与技术 何x玲,林洛君 - 福州大学 - 数学与计算机科学学院...

热门文章

  1. 写一个监控路由器下局域网内所有终端的上网情况的脚本
  2. MySQL-基础入门从0到1
  3. 机器学习11:应用之图片字符识别
  4. vue实现一个星级打分效果_Vue实现星级评价效果
  5. Proxmox VE安装与初始化
  6. 博图V14SP1组态下载时报错
  7. Go语言——map 源码分析
  8. ChatGPT浪潮之下,BAT迎来重塑时刻
  9. CString分割字符串实现
  10. 程序设计入门——C语言 习题汇总