关于Android Pie(Android 9.0),你想知道的都在这了

2018年8月7日-凌晨1点,谷歌发布了Android 9.0操做系统,它的名字是Android 9,被命名为Android Pie。让咱们看看关于Android 9派你须要知道的一切。android

大纲以下:git

  • Android Pie 新特性有哪些?
  • 官方Release Note更新说明
  • 哪些设备第一时间将集成Android Pie?
  • Android Pie 源码在哪里下载?

Android Pie 新特性有哪些?

一、App Actionsgithub

这个特性推荐使用AI进行操做。AI会尝试找出你接下来要作什么,以及你接下来须要什么,当你启动app抽屉时,它会告诉你。根据你的当前地理位置、一天中的某个时间段,甚至是你链接耳机的时候,向你推荐一些东西。还有位于应用程序抽屉中的快捷键能够预测你将要作什么,这样你就能够更快地完成你在手机上要作的事情。例如,若是你一般打开应用程序面板,而后打开手机应用程序,而后给你的好朋友打电话。在Android Pie上,你最终会看到打开这个应用程序后,就开始建议你给好友电话。 后端

二、App slices数组

slice为你提供了应用的一部分,Android系统认为这是你在寻找某个应用时须要的功能。例如,若是你在搜索中输入“Hawaii”,一个应用程序切片可能会建议你在谷歌photos应用中查看你最近的夏威夷度假照片。好比你要打车,Slices能够作到这一点,搜索“Lyft”,你就会看到一个能给你提供价格和时间,你能够用来完成预定服务。安全

三、New gesture navigation(新的手势导航栏)bash

在跟随时代潮流下,Google一贯推崇于Cool的东西,即将推出的谷歌像素或Android One系列的Android手机,Android 9.0 Pie的特色是使用一种新的方式在设备中导航。传统的back、home和最近的应用程序键都消失了。将在底部有一个新的HomeBar指示器——就像iPhone X同样,只是短了一点。应用程序按钮的职责被一个很是熟悉的手势取代了。在椭圆指示器上滑动能够做为滚动条,可是在新的导航条上仍然有一个返回键。向右滑动能够访问最近的应用,或者向上滑动能够访问你的应用抽屉和应用建议。它在Pixel手机上很是流畅。切换到之前的应用程序,在浏览窗口后,在底部添加一个滑块。 服务器

四、Manual rotation(手动旋转)微信

那些很烦的自动旋转如今可能成为过去。如今旋转屏幕也能够是手动的了,在导航栏上有一个指示器可供点击。 网络

五、Security and privacy features(安全和隐私特性)

Android Pie引入了大量新的安全和隐私特性,以帮助您保持数据的安全性。更新中引入的最有用的特性之一是,当你的麦克风、摄像头或传感器空闲时,应用程序将再也不可以访问它们。怎么作到的,AI

六、Digital Wellbeing(数字健康)

这一切都是为了让你不要一直使用手机。咱们须要它。拼命。 制造商的最上瘾的数码产品,即YouTube和Android,所谓的数字健康项目在Android p .它由仪表板显示你如何使用你的设备,像时间在应用程序,手机解锁,或者通知,要求你的注意力,你知道在哪里。App Timer选项能够为应用程序的使用设置一个计时器,甚至当你的限制值用完时,图标会变色。有一个新的DND管理模式,它能够中止全部的调用或通知声音,甚至能够在你得到新的声音时弹出预览。“下风”功能实现了这三种功能:在晚上打开夜灯,在DND模式下快速运行,甚至在睡眠时间接近时以灰度显示。全部这些都有一个手势——把你的手机翻过来,它就会自动进入数字健康模式,甜心。

  • Dashboard(面板)

让你快速了解你在手机上使用的应用程序,你收到了多少通知,以及你多久查看一次手机。

  • App timers(app计时器) 容许您设置应用程序的使用限制。这样系统就会在你即将达到预设的使用极限时提醒你,防止你过分使用应用程序和手机。

  • Wind down(放松一下) 设置一个时间表来启用DND(Do Not Distur,免打扰)模式,并在规定的时间内将屏幕变为灰色。

  • Do Not Disturb(免打扰) 它如今将屏幕变成了灰度,同时也明显地禁用了通知,除非有重要联系人来呼叫你。

  • Better notification management(更好的通知管理) 能够关闭一系列应用程序的通知,系统甚至可能会要求你在取消通知后中止接收特定类型的通知。让你进入AI时代

七、Adaptive battery(电量自适应)

使用设备上的机器学习来了解用户的使用应用程序状况,并优先考虑最经常使用的应用程序和服务的电池电量,根据您的使用状况优化应用程序的后台进程,防止电量浪费流失。应用程序若是过分使用电量,系统还会提醒你,经过AI能够改进电池的寿命,谷歌指出能够减小30%获取Wake Lock的状况,(Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就没法进入休眠, 能够被用户态程序和内核得到)

八、Adaptive brightness(亮度自适应)

根据你一天中主要使用时间,自动改变亮度等级。根据你的周围环境,了解你喜欢的亮度等级,并自动调整你手机的亮度等级。

官方Release Note更新说明

从官方发布的Open Source的Release Note来看,有以下更新

一、经过WiFi往返时延室内定位

经过WiFi往返时延室内定位(RTT表示往返时延。在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便当即发送确认),总共经历的时延),简单理解就是室内无线电波(WIFI)、磁场、声音信号或移动设备收集的其余感受信息来定位建筑物内物体或人的技术。

二、支持设备使用插槽链接来显示

也就是手机能够链接电脑显示屏,来感觉大屏显示的魅力

三、多摄像头支持,增长了链接USB摄像头的功能

在Android Pie的设备上,用户能够同时从两个或多个物理摄像头访问数据流。在具备双前置或双后置摄像头的设备上,可实现使用单个摄像头没法实现的创新功能,例如无缝变焦,散景和立体视觉。API还容许调用或融合的摄像机媒体流,以自动在两个或更多摄像机之间切换。相机中的其余改进包括 有助于减小初始捕获期间延迟的其余会话参数,以及容许相机客户端处理各类用例而无需中止和启动相机流的表面共享。咱们还添加了基于显示的闪存支持 和访问OIS时间戳的 API,以 实现应用级图像稳定和特效。在Android Pie中,多摄像头API 支持具备FULL或 LIMITED功能的设备的单色摄像头 。单色输出经过YUV_420_888 Y为灰度,U(Cb)为128,V(Cr)为128 的格式实现 。

四、bitmaps and drawables使用了新的解码器解码

Android Pie引入了ImageDecoder类,效率更高效。它提供了一种用于解码图像的现代化方法。使用此类而不是BitmapFactoryBitmapFactory.Options API。ImageDecoder容许new一个 Drawable或一个 Bitmap字节缓冲区,文件或URI。要解码图像,请先createSource() 使用编码图像的来源进行调用 。而后,调用 decodeDrawable() 或decodeBitmap() 经过传递ImageDecoder.Source 对象来建立一个Drawable]或一个Bitmap。要更改默认设置,请传递OnHeaderDecodedListener给 decodeDrawable()或decodeBitmap()。 一旦知道,就ImageDecoder调用onHeaderDecoded()图像的默认宽度和高度。若是编码图像是动画GIF或WebP,则decodeDrawable()返回该类Drawable的实例 AnimatedImageDrawable。咱们可使用不一样的方法来设置图像属性:要将解码图像缩放到精确大小,请将目标尺寸传递到 setTargetSize()。您还可使用样本大小缩放图像。将样本大小直接传递给 setTargetSampleSize()。要在缩放图像范围内裁剪图像,请调用 setCrop()。要建立可变位图,请true进入setMutableRequired()。ImageDecoder还能够为图像添加自定义和复杂的效果,如圆角或圆形蒙版。setPostProcessor() 与PostProcessor 类的实例一块儿使用以达到想要的任何绘图效果。

五、新的“AnimatedImageDrawable”类,用于在UI中支持本地动画

Android Pie引入了AnimatedImageDrawable用于绘制和显示GIF和WebP动画图像的类。AnimatedImageDrawable相似于 AnimatedVectorDrawable渲染线程驱动动画的方式AnimatedImageDrawable。渲染线程还使用工做线程进行解码,所以解码不会干扰渲染线程上的其余操做。此实现容许您的应用显示动画图像,而无需管理其更新或干扰应用的UI线程上的其余事件。一个AnimatedImageDrawable能够利用的实例进行解码ImageDecoder。如下代码段显示了如何使用ImageDecoder解码你的 AnimatedImageDrawable

private void decodeImage() throws IOException {

    Drawable decodedAnimation = ImageDecoder.decodeDrawable(
        ImageDecoder.createSource(getResources(), R.drawable.my_drawable));

    if (decodedAnimation instanceof AnimatedImageDrawable) {
        // Prior to start(), the first frame is displayed.
        ((AnimatedImageDrawable) decodedAnimation).start();
    }
}
复制代码

ImageDecoder有几种方法可让你进一步修改图像。例如,您可使用该setPostProcessor()方法修改图像的外观,例如应用圆形蒙版或圆角。

六、支持HDR VP9视频和HEIF图像压缩

Android Pie增长了对高动态范围(HDR)VP9配置文件2的内置支持,所以咱们如今能够经过YouTube,Play电影和支持HDR的设备上的其余来源播放用户提供支持HDR的电影。Android Pie增长了对平台的HEIF(heic)图像编码的支持。HEIF静态图像样本在MediaMuxerMediaExtractor类中获得支持HEIF改进了压缩以节省存储和网络数据。借助Android 9设备上的平台支持,您能够轻松地从后端服务器发送和使用HEIF图像。确保您的应用与此数据格式兼容以进行共享和显示后,请在应用中尝试将HEIF做为图像存储格式。您可使用ImageDecoderBitmapFactory进行jpeg-to-heic转换以从jpeg获取位图,而且可使用HeifWriter从YUV字节缓冲区,Surface或Bitmap写入HEIF静止图像。

媒体指标也可从AudioTrackAudioRecordMediaDrm类。

Android Pie为MediaDRM类添加了方法,以获取指标,HDCP级别,安全级别和会话数,并添加对安全级别和安全中止的更多控制。有关详细信息,请参阅API Diff报告。

在Android Pie中,Audio API包含用于使用,内容类型和输入预设的 AudioStream属性。使用这些属性,您能够建立针对VoIP或摄像机应用程序进行调整的流。您还能够设置SessionID以将Audio流与可包含效果的子混合相关联。使用AudioEffect API控制效果。

Android Pie包含用于DynamicsProcessingAudioEffect API。使用此类,咱们能够构建基于通道的音频效果,包括各类类型的多个阶段,包括均衡,多频段压缩和限制器。频带和活动阶段的数量是可配置的,而且大多数参数能够实时控制。

七、改进了JobScheduler以便更好地处理与网络相关的工做。

从Android Pie开始,JobScheduler可使用运营商提供的网络状态信号来改善网络相关做业的处理。

JobScheduler能够声明其估计的数据大小,信号预取,并指定详细的网络要求。JobScheduler而后根据网络状态管理工做。例如,当网络发出拥塞信号时, JobScheduler可能会推迟大型网络请求。在未计量的网络上,JobScheduler能够运行预取做业以改善用户体验,例如经过预取标题。

添加做业时,请务必使用setEstimatedNetworkBytes(),setPrefetch()setRequiredNetwork()在适当时帮助 JobScheduler正确处理工做。当您的做业执行时,请务必使用Network返回的对象JobParameters.getNetwork()。不然,咱们能够将隐式使用设备的默认网络,该网络可能没法知足您的要求,从而致使意外的数据使用。

八、改进了神经网络API 1.1

Neural Networks API是在8.1的Android(API级27)引入,以加速在Android装置上的机器学习。Android 9扩展并改进了API,增长了对九个新操做的支持:

元素数学运算:

  • ANEURALNETWORKS_DIV

  • ANEURALNETWORKS_SUB

数组操做:

  • ANEURALNETWORKS_BATCH_TO_SPACE_ND

  • ANEURALNETWORKS_SPACE_TO_BATCH_ND

  • ANEURALNETWORKS_SQUEEZE

  • ANEURALNETWORKS_STRIDED_SLICE

  • ANEURALNETWORKS_TRANSPOSE

  • ANEURALNETWORKS_PAD

  • ANEURALNETWORKS_MEAN

此外,API还引入了一个新功能, ANeuralNetworksModel_relaxComputationFloat32toFloat16()容许您指定是否以ANEURALNETWORKS_TENSOR_FLOAT32与IEEE 754 16位浮点格式相同的范围和精度进行计算 。

九、Autofill框架的进一步改进

(Autofill Framework最低支持SDK API 26(Android O)+),Demo地址:github.com/googlesampl… 9引入了多项改进,自动填充服务能够实现这些改进,以在填写表单时进一步加强用户体验。

十、支持指纹确认的安全事务

在Android Pie中,系统表明您的应用提供生物识别身份验证对话框。此功能为对话框建立标准化的外观,感受和位置,使用户更有信心他们对可信赖的生物识别凭据检查器进行身份验证。

若是您的应用程序用于FingerprintManager向用户显示指纹身份验证对话框,请切换为使用BiometricPromptBiometricPrompt依赖于系统来显示身份验证对话框。它还会更改其行为以适应用户选择的生物识别身份验证的类型。

注意:使用BiometricPrompt前,你应该先使用 hasSystemFeature()方法,以确保该设备支持FEATURE_FINGERPRINT,FEATURE_IRIS或FEATURE_FACE。若是设备不支持生物识别身份验证,咱们可使用该createConfirmDeviceCredentialIntent()方法回退到验证用户的PIN,模式或密码。

十一、客户端加密备份

Android Pie增长了对使用客户端密钥加密Android备份的支持。知足如下条件时,将自动启用此支持:

  • 用户已使用Android Pie或更高版本启用了备份。
  • 用户已为其设备设置了屏幕锁定,须要PIN,图案或密码才能解锁。

启用此隐私措施后,须要设备的PIN,模式或密码才能从用户设备的备份中恢复数据。

什么设备第一时间将集成Android Pie

Android Pie已经出现了,如今每一个人都想知道Android Pie何时会出如今市场上的手机运行,这个问题很难回答。根据以往厂商的升级的经验,作了一些预测,整理了一个OEM(OEM产品是为品牌厂商度身订造的,生产后也只能使用该品牌名)级的流行Android设备列表,认为这些设备将会升级到Android 9 Pie。固然这个列表不表明最终实际状况,作过ROM的开发工程师都知道,Google每发布一个新版本,都须要解里面不少Bug,以及过CTS(兼容性测试),还有厂商本身要作一些定制化处理,通常Google Android新版本Release半年前或更早,各大厂商基本就已经拿到了受权源码,而后在作定制开发和Bug fix

  • Google像素手机
设备 预计更新时间
Google Pixel (sailfish) 2018.08.07
Google Pixel XL (marlin) 2018.08.07
Google Pixel 2 2018.08.07
Google Pixel 2 XL 2018.08.07
  • HTC
设备 预计更新时间
HTC U Ultra Q2 2019
HTC U11 Q1 2019
HTC U11 Life Q4 2018
HTC U11+ Q4 2018
HTC U11 EYEs Q1 2019
HTC U12+ Q4 2018
  • 华为
设备 预计更新时间
Huawei Honor 8 Pro Q1 2019
Huawei Honor 9 Lite Q1 2019
Huawei Honor 9 and V9 Q1 2019
Huawei Honor View 10 Q4 2018
Huawei Honor 10 Q4 2018
Huawei Honor 9N Q1 2019
Huawei Nova 3 Q4 2018
Huawei Nova 3i Q4 2018
Huawei Nova 2s Q4 2018
Huawei Mate 9 Q1 2019
Huawei Mate 9 Porsche Design Q1 2019
Huawei Mate 9 Pro Q1 2019
Huawei Mate 10 Q4 2018
Huawei Mate 10 Porsche Design Q4 2018
Huawei Mate 10 Pro Q4 2018
Huawei P20 Q4 2018
Huawei P20 Pro Q4 2018
Huawei P20 Lite Q1 2019
Huawei P10 Q1 2019
Huawei P10 Plus Q1 2019
  • 一加手机
设备 预计更新时间
OnePlus 3 Q1 2019
OnePlus 3T Q1 2019
OnePlus 5 Q4 2018
OnePlus 5T Q4 2018
OnePlus 6 Q3 2018
  • Oppo
设备 预计更新时间
Oppo R15 Pro Q4 2018 (Beta available)
Oppo R15 Q4 2018
Oppo Find X Q4 2018
  • 三星
设备 预计更新时间
Samsung Galaxy S9 Q1 2019
Samsung Galaxy S9+ Q1 2019
Samsung Galaxy Note 8 Q2 2019
Samsung Galaxy S8 Q2 2019
Samsung Galaxy S8 Active Q3 2019
Samsung Galaxy S8+ Q2 2019
Samsung Galaxy A8 and A8+ (2018) Q2 2019
Samsung Galaxy A8 Star (A9 Star) Q2 2019
Samsung Galaxy A6 Q2 2019
Samsung Galaxy A6+ Q2 2019
Samsung Galaxy Note FE Q3 2019
Samsung Galaxy J4 Q3 2019
Samsung Galaxy J6 Q3 2019
Samsung Galaxy J8 Q3 2019
  • Sony
设备 预计更新时间
Sony Xperia XZ2 Q3 2018 (Beta available)
Sony Xperia XZ2 Compact Q3 2018
Sony Xperia XZ2 Premium Q3 2018
Sony Xperia XA2 Q4 2018
Sony Xperia XA2 Ultra Q4 2018
Sony Xperia XZ1 Q4 2018
Sony Xperia XZ1 Compact Q4 2018
Sony Xperia XZ Premium Q1 2019
Sony Xperia XZs Q1 2019
  • Vivo
设备 预计更新时间
Vivo X21 Q4 2018 (Beta available)
Vivo X21 UD Q4 2018 (Beta available)
Vivo Nex A Q4 2018
Vivo Nex S Q4 2018
Vivo V9 Q1 2019
  • 小米
设备 预计更新时间
Xiaomi Mi 8 Q4 2018
Xiaomi Mi 8 EE Q4 2018
Xiaomi Mi 8 SE Q4 2018
Xiaomi Mi 6 Q2 2019
Xiaomi Mi A1 Q4 2018
Xiaomi Mi A2 Q4 2018
Xiaomi Mi A2 Lite Q4 2018
Xiaomi Mi Mix 2 Q4 2018
Xiaomi Mi Mix 2S Q4 2018 (Beta available)
Xiaomi Mi Max 3 Q1 2019
Xiaomi Redmi Note 5 AI (Note 5 Pro) Q1 2019
Xiaomi Redmi S2 (Redmi Y2) Q2 2019
Xiaomi Redmi 6 Q3 2019
Xiaomi Redmi 6A Q3 2019
Xiaomi Redmi 6 Pro Q2 2019
  • LG

LG的手机部门表现不佳,这也是咱们没有在2018年MWC上看到LG七国集团(G7)的缘由之一,由于该公司正在从新制定战略,而后才有望实现重大复苏。即便有这么多的财务问题,LG在软件更新方面也没有被吓倒,依然可能有多款设备更新

设备 预计更新时间
LG G6 Q4 2018
LG Q8 Q2 2019
LG V20 Q1 2019
LG V30 Q4 2018
LG V30+ Q4 2018
LG V30S ThinQ Q4 2018
LG V35 ThinQ Q4 2018
LG G7 ThinQ Q4 2018
LG Q7 Q1 2019
LG Q Stylus Q1 2019
LG Stylo 4 Q1 2019

Android Pie 源码在哪里下载?

下载一份之前的老版本源码,依然在repo中,查看当前可用的Android源码分支和版本,也能够在下载好的Android源码根目录下执行以下命令:

$ git --git-dir .repo/manifests/.git/ branch -a
复制代码

或者

$ cd .repo/manifests
$ git branch -a | cut -d / -f 3
复制代码

附上一份网上找的Android从2.2到8.0的源码,有须要的能够下载:

android-2.2_r1 连接: pan.baidu.com/s/1qYfwxEO 密码: r217

android-2.3.7_r1 连接: pan.baidu.com/s/1qYqRB1E 密码: qcei

android-4.1.1_r1 连接: pan.baidu.com/s/1mhXwVgc 密码: qidj

android-4.3_r1 连接: pan.baidu.com/s/1geOJDB1 密码: 355a

android-4.4.4_r1 连接: pan.baidu.com/s/1nuZwEVn 密码: t3qw

android-wear-5.1.1_r1 连接: pan.baidu.com/s/1hrQJ6XQ 密码: 3g3x

android-6.0.0_r1 连接: pan.baidu.com/s/1geHYeOz 密码: fsd6

android-6.0.1_r2 连接: pan.baidu.com/s/1skEVR1F 密码: ik6t

android-7.1.1_r1 连接: pan.baidu.com/s/1dF6hc3n 密码: pfsq

android-8.0.0_r1 连接: pan.baidu.com/s/1bqKNx3x 密码: bthv

欢迎关注个人微信公众号「何俊林」,接收第一手技术干货