大家好，欢迎来到 Android的新功能
或者我是唯一一个将其称为
Android Keynote的人
我是Chet Haase 来自 Android UI Toolkit团队
而我是来自图形团队的Romanie Guy
我是来自系统UI团队的Dan Sandler
我们没有很多时间 让我们开始吧
你们为Android的新功能 准备好了吗?
这是我们上次 谈到的地方，API 25
我们即将要提及Git-sha
把它放进git-diff 然后我们可以开始了
你们会想要写下来
好
接下来
是的，很好的
我很喜欢那些
哦，老兄，记得我们 几乎把它做成一个列举?
真好笑
你明白吧?
你以为这是大家 来到这里的目的?
我不知道为什么 以前我们没有想过
我们一直都在讲这个-- 我们一直在告诉你
这些年来的新鲜事
你们可以看到
我忘記拿西装外套
其实我有一件很漂亮的 红色西装外套
但有人为今次主题演讲借用了它
你有你--
看起来你像是
但今年呢
有点不同，对吧?
开发人员提前了预览
你们看到了很多这些API
你们有Google主题演讲
在那演讲我们在哪里炫耀了 很多令人兴奋的东西
我们安排了开发人员主题演讲
你们可以从中了解更多 有关开发者的东西
那么我们在这里干什么?
Android的新功能的意义在哪里?
存在的危机
你们测试了这个点击器吗?
我测试过
好的
我测试过
试想像这次演讲
就像品酒或威士忌系列的品尝 或其中一台
你们能够按下所有的按钮的汽水机
这是你们在新版Android 或已忽略的精心挑选手工制
你一定需要做的任何事情
来成为Android O的一部分
老实说就是我们在讲台上 想谈谈的东西
所以说，这真的是 Android的新功能
具体来说
你们在开发人员预览 可能错过了
或I/O keynote或其他主题演讲 这就是你们应该关心的原因
我想确保我们今天 了解的最后一件事
就是这个
所有人总会对这个O感到兴奋
我们要留到最后
噢
这会很好
好的，让我们开始吧
罗曼，请你谈谈UI和图形
好的，我们开始吧
我们第一个想谈的功能
就是那个今天早上你们 在主题演讲看到的
切特，这个点击器不行
你没有做过测试
噢
你知道嘛--
浪费时间
我要站在后面这里
我要给你放幻灯片
好吧
请转到下一张幻灯片
这是他们不想
给我一个点击器的原因
好吧，这个功能--
这对我有用
你回去那里
我不想见到你
今天早上你们在其中的 一个主题演讲看到的
第一个功能—画中画
并不只是电视才有
手机也可以看到
这里是第三方应用程序的例子
Netflix在你们的手机上运行 画中画
给我那个点击器
我们移到后面去
这样就对了
这真的很容易
在你们的应用程序中实行
你们只需要修改清单
并停止播放动画
只需要说支持画中画，真的
在O里，你不再需要 把可调整大小的活动
设置为真的特性
你们要测试配置变更
在代码中，如果要进入画中画模式
你们只需要呼叫
进入你们的活动 然后呼叫enterPictureInPicture
超简单的，这样就会 使你们的用户很开心
这是一个非常亲切的功能
那就是色彩管理
我们对广色域置换O添加支持
这不会在所有设备上显示
只在支持这功能的设备上
才会在你的应用程序启用
我们也正在对16位 PNG档案添加支持
那么颜色可以更亮更饱和
我们支持ICC文件，所以色彩特性文件
配置嵌入在JPEGs PNGs，WebPs的位图中
确保准确地
在多个屏幕再现颜色
我们还有一些全新的API
我们在本周后期
在不同的演讲中再谈这个
由于一张图片胜过千言万语
这是色彩管理 以及它是怎样运作的
我希望已经很清楚表达
但颜色管理是关于
一些可能曾经在你们自己的 应用程序中遇过的事
在不同的装置上看起来 是不一样的颜色
在Android O 我们有解决方案
如果你们想知道更多
我将会有一个演讲
在星期五上午11:30在2号厅
演讲主题是 “了解颜色”
接下来，我们也为 多个显示器添加支持
如果你们的应用程序已经--
这个点击器很吓人
如果你们的应用程序 已经支持多个视窗
多视窗模式
那么在O它已经支持多视窗 当手机连接时
或一支网络设备 连接到多个显示器
而你们有一个兼容的应用程序
用户可以选择在不同的显示器 给你发送应用程序
当这种情况发生时
你将会得到调整配置更改
你们也可以控制 你们的活动显示什么东西
你们可以使用活动选项
你们应该认真地测试应用程序
如果你们想支持这项功能
为了帮助你们进行测试 我们有两个新的开发工具
你们可以运行adb shell dumpsys显示
这样会列出所有在设备上 当前可用的显示
如果你们呼叫adb shell 启动你们的活动意图
你们可以指定你想要要开始活动的那个显示
这一个很简单的方法 让你们进行测试
那些API还有更多的功能
建议你们到办公时间
星期五和星期四
这是Windows和活动的办公时间
接下来，媒体
我们有很多关于媒体包装 非常有用的课程
有媒体播放器 媒体记录器，提取器
编解码器
我们添加了全新的 getMetrics API课程
到上述的每一个班
这有助于查询
有关你们正在处理的媒体的信息
所以你可以查询解析度 编解码器，比特率
持续时间，这类的数据
它们超容易使用
只需呼叫其中一个 对象上的 getMetrics
你们会得到 PersistableBundle
也可到developer.android.com 查找文档
以了解可用什么样的查询
播放也被大大改善
现在你们可以控制 应用程序里的缓冲
可以指定一个 高浮水印和低浮水印
那么视频不会开始播放
直到到达低浮水印
系统会尽力保持
这个低和高浮水印之间的缓存数据
你们可以指定
浮水印的持续时间或数据数量的大小
我们也改善了搜寻
当你们搜寻一个视频
现在可以选择行为
你们想搜寻最接近的框架
到下一个框架，前一个的框架
或最接近的同步框架
最后我们使DRM回播
和Widevine更加容易使用
在所有的应用程序
至于录音，直到现在
媒体混合器只允许添加 一条视频轨和/或一条音轨
现在你们可以添加 尽可能多的音轨和视频轨
也可以创建自定义音轨视频轨
MIME类型必须 以“application/”开头
基本上是一条边带 你们可以对任何类型的数据进行编码
一个规范的例子就是
如果你们要播放360度视频或类似的东西 就要对JavaScript数据进行编码
WebView配有 很有用的全新APIs
我们添加了这个安全浏览的功能
这是你们认识且喜爱的功能在chrome
有助于检测到恶意软件 和不安全的网页
如果添加这个标签到你的清单 这个元数据标签
它将使用相同的 后端和相同的API
这API,Chrome 本身也正在使用
以确保为用户提供浏览体验
现在WebView使用多个程序
特别是，有一个渲染程序
因此我们也有全新的API 来处理这些多程序
如果渲染程序系统崩溃
你们可以使用Termination Handle API以检测崩溃
并决定要对应用程序做什么事
如果你们想要的话 可以使应用程序崩溃
然后尝试重新启动WebView
或者只是记录一些东西 并向用户显示一条信息
这比以前优美得多
你们也可以使用 Renderer Importance API
用来更好地处理内存不足的情况
当系统内存不足时
它会尝试从某个地方收回内存
你们可以告诉系统
对应用程序来说 这WebView是否重要还是不重要
如果WebView对应用程序 是至关重要的
那么一定要看看这个API
你知道这是右键，对吧?
对啊，我知道
有几个被长期要求给动画师的功能
具体来说用于AnimatorSets
要落实执行也看似棘手 所以花了一段时间
但现在在Android O里， 在AnimatorSets
我们有能力去搜寻
现在如果你们有一个
內有Child Animators的汇集的Animator
你们可以在那些 Child Animators进行搜寻
在整个AnimatorSet里
对啊
我们也有这个功能
来转换
嘿，切特，你有没有尝试过
在不久以前执行那些API?
有可能
嗯
到底谁执行那些APIs?
不是我
是啊
完全正确
新性能再次在AnimatorSet
相互转换
你们不再需要设置一个
备有那些全部功能的独立AnimatorSet 并且找一个听众之类的
我们为你们完成了所有繁琐的工作
Autofill这真的是很繁琐的工作
使所有信息正确
早些时候我们在主题演讲曾经看到
这是--的能力
要填写一张表单
有一个提供者能夠给你们信息
所以当你们得到那些文本字段
我们就能为你们自动填入那个信息
有几方面是不同的
你们当然可以执行自己的服务
并提供那种功能
或依赖于我们正在提供的服务
或者更典型的 你们会执行一个客户端
标准视图正常运作
如果你们使用的是TextView 如果你们使用的是EditText
我们已经知道怎样接收这信息
来与服务互动
因此你们不需要 对标准视图做任何事情
如果你们使用自定义视图
或者你们要提供更多 有关标准视图的信息
我们有APIs向我们提供
数值类型是什么的提示以及APIs
来告诉我们更多关于自定义视图的事
还有你们想如何与之互动
如果你有一个自定义的视图层次
假设你有一个SurfaceView
里面有些视图，但我们 只知道有一个SurfaceView
那么就有API告诉我们
有关你们要互动的虚拟层次
在星期五早上的演讲里 我们会再说多些
所以去参加那个如果你们想
了解更多有关autofill的信息
现在我们来谈一谈文本
这一次有一大堆事情发生在关文本
我认为我们可以重写这些
这样就对了
我只使用那种字体 因为它使丹感受到伤害
这在身体上伤害他
这很棒
我认为你打伤了他
好吧，首先
你们可以使用XML 来宣告字体的信息
使用一个很好的数据绑定巧技
但这样做有点棘手
为什么我们不应该
实际地为你们提供那个功能?
现在我们提供了
现在你们能夠 直接放一个字体文档
到这个全新资源字体目录
对啊，确实如此
把它放在目录 或者你可以告诉我们
有关字体系列
你们能夠提供几个字体
与每个风格的信息
然后你们可以直接使用 正如任何其他资源
从代码那里给我这个资源
这样就对了
可下载的字体
现在我们有这个功能
给你们宣告一个想要使用的字体
如果系统里还没有 那么我们会下载并缓存在系统上
如果系统已经存在 我们就从缓存中使用
你们可以使用代码 或XML来这样做
并将其用作资源 就像你们使用XML字体一样
那之前令人兴奋的幻灯片
我们也有一个字体提供者
这是一个尚未发布的版本
放在Google Play Services上
本星期我们有一个测试版
供大家在会议上使用
我还不知道有关细节
但在那里会有一个 你们能夠学习有关那些细节的会议
或者你们能够 到Play Services网站
了解更多信息
这样使你们能夠使用 所有Google字体
如果你们只想使用标准字体
例如我正在使用的美丽的字体
或许那已经在里面
那么你们可以直接从服务台征求
还具备自动调整TextView的能力
一般来说如果你们要 调整TextView的大小
你们不会知道
那个会变成轰动一时的东西，对吧?
文本
文本很酷
特别是它是合适的字体时
现在你所得到的是在左边的行为
在那里我们刚刚 调整视图本身的尺寸
字体没有变更
在右边，如果你们选择 自动调整TextView行为
那么我们就会为你调整字体大小
你们可以指定行为
或者当它调整大小是，你们想要捕捉的特定尺寸的step increment
有APIs为这而设
API里有XML及Java编程语言代码
尽情去享用吧
所有这些文字功能
XML字体，可下载字体 和自动调整TextView
他们在明天早上支持库有什么新功能
的会议会讲关于这些功能
你们或者会想，为什么他们要在
Support Library的会议上 讲这些东西?
这些不是O平台的API吗?
对啊，它们是
不还它们也属于Support Library
你们也能夠在早期版本上 使用这些新功能
AccessibilityService Utilities
如果你们正在撰写 AccessibilityService
这是很棒的事情
我们有一些全新的功能你们可以使用
语言检测
可以在导航栏放置 一个按钮以及其他按钮
来让到访你们的东西更容易
分隔的音量控制成就无障碍音量
那么你们不会把那音量
与设备上其他音量 混在一起
还有能夠定义自定义指纹手势
如果你们想了解更多有关信息
下午有一场演讲，主题为无障碍
你们应该看看
最后有一个我很喜欢的微小变更
我要说它很微小
因为这是一行API代码
但实际的cls用来修复 所有的代码
广泛依靠前者的执行
我不想损害它的工作
但是API 真的很微小，隐密
从外面看起来像是一样的东西
findViewById以前用类似这样的方被声明，
公开视图，findViewById
然后你们宣告，传递到资源ID
拿回一个视图
然后马上把其投入到你想要的
所以TextView,你们要告诉TextView，
在左边及右边，然后有个括号
这很麻烦
人们使用补助程式库 只是为了避开这个情况
这个看起来很可怕
现在
我们有这个
我把这个新功能称之为Castaway
我认为我是唯一这样做的
好吧，跳过我的第一张幻灯片
那样就好
我想多说一点有关系统UI的东西
这是你们都要看的
如果你们有一个应用程序
那么就要了解自适应图标
我想今天早些时候在Steph的其中 一张幻灯片被略略提及过
实质上我们正在努力 为你们节省时间和金钱
在外面有这么多启动器
而每一个对图标形状 都有不同的建议
自适应图标是一项我们在O中带给你的全新技术
使你们能夠说
这是我的后台，这是我的前台
切出你们喜欢的形状
即使启动器有一个圆圈
或者圆角矩形或者一些吓人的东西
你们会有一个完全匹配 当地特色是图标
在星期四的演讲中 将会有自适应图标的大量信息
且肯定会提及这个题目
好吧，我们来谈谈 捷径和小部件
因为启动器也是系统UI的一部分
以前，要把捷径和小部件 放到用户屏幕上
有一个稍微有用的广播捷径
至于小部件，你们只需 请求用户，拜托，拜托
看看能否在启动器里 找到我们的小部件
在O，现在你们实际能够要求 这里其中一个东西
固定在用户的工作区
使用捷径 管理员捷径
使用小部件的应用程序 小部件管理员
那么用户有机会说不
我不想放在桌面上 或者好，我想要
而且事实上我会继续
放它到我想要的地方
或者他们可以说，当然，为它 找一个地方
这是以前的行为
现在用户不必走过很长的流程
你们只需发送它们到这个对话框
这是超方便的
看看全部你将在小部件上的新用户
我会说我是因为掌声 而暂停下来
但我其实是在弄这个点击器
我们会在周四下午4:30 再谈一谈这个
好的，通知，你们知道快要来了
他们超级有用
他们非常适合互动
用户非常喜爱他们
不过可能有点儿失控
现在有很多东西用于通知串流
你们很困难地
把消息传送到用户
用户也很难关注需求的流入
如果现在不被控制
用户就应该一直掌控着
这是我们从开始奉行的原则
从一个Jelly Bean的包装， 我们添加了一个阻止通知的功能
在Nougat我们稍为精制一点 并添加静音
但这一切
用户向我们提出的首要请求是
我是否可以拦截 某个应用程序的一些通知?
另一方面
开发人员向我们提出的首要请求是
用戶是否可以拦截我的一些通知?
这是同一件事
大家一直在查问同样的事情
这就是通知渠道来源
在O这是全新的API
一个渠道是应用程序的一个通知类别
它们全部都有同样的行为
振动，声音，闪光 无论是否在屏幕上弹出
用户能夠明确仔细地控制
这是一个应用程序 你们可以设置所有自己的渠道
为O定义默认行为
弹出一条私人信息
标签不会弹出 或它的优先级较低
然后但用户长按着一个通知
或使用全新的滑动手势来查看
他们可以看到哪个频道打开
然后就在行里进行更改
一旦你们针对O， 在这两分钟内没有任何时间被拿走，
就要拿走这个
对于每个通知，你们必须使用频道
不然它们将会被丢弃
直到你们针对O 你就可以慢慢开始
把通知系统发展成渠道
一旦你们针对O 它们必须全部渠道化
因为我们想得到一致的体验
用户知道他们会得到什么东西
我们要谈谈这个
还有很多其他很棒的东西
包括设计上的考虑
没有放在这里的代码 在那边闪烁的小东西
在明天下午4:30的演讲
还有很多有关系统UI，很棒的东西
我们在这里列出了一些
它再次完结了
我喜欢用幻灯片
我非常鼓励你们 查看开发人员预览
或安装测试版 并试用所有的功能
我们为此感到自豪
为美国开发人员而设的全新API
我们扩展了限制模式API
我相信你们都会用来调试
现时的ThreadPolicy
你们在使用无缓冲的I/O时 会得到警告
如果你们使用输入流或输出流
但是没有把它包成缓冲流 就会见到一个闪光灯
或其他什东西 这是预设的触发警告
在VmPolicy上 如果没有把sockets标签
也同样会得到警告
把Sockets标签
对于使用Android Studio 调试流量真的很有用
最后如果你们打开另一个意图
如果你们发送一个意图 到应用程序外面
就需要授予许可
也同样会得到警告
其实这很容易使用
看起来像以前的API
媒体档案的访问
不久以前我们介绍过 这个文件提供者
就在几个发布前，它们非常有用
除非你们有大型文档
如果是大型文档
你们需要下载整个数据后
才能夠把它传给 文件提供者的用戶
现在你们可以创建 可搜寻的文件描述符
对于音频，视频
或任何大型档案 都非常有用
这非常容易使用的
你们使用StorageManager 打开代理文件描述符
给它一个回调
然后我们要调用这个回调
要求文件的大小
要求一些字节数组中的数据量
然后我们要告诉你什么时候关掉
缓存数据
这是全新的API
系统使你们成为更好的公民
每个应用程序都有 一定的数据量
能夠用在缓存分区
当系统空间不足时 存储空间不足
就会开始删除一些缓存数据
如果你们保持低于预置指标
就可避免数据被删除
为此，你们可以使用 StorageManager
用来查看
分配给应用程序的字节数
你们应该不时查看
因为配额可作变更
这取决于使用多少的配额
或者用户多久 使用一次应用程序
当你们想要调配数据时
可以使用allocateBytes
你们能夠自己做
只需创建一个档案
就可以创建输出流
这样做好多了
因为当你们仔细检查 allocateBytes，如需要
系统将会删除另一个 应用程序的缓存数据
腾出空间储存的数据
这就意味着 getCacheQuotaBytes
或者多于
设备上的可用空间
你们也可以使用名为
setCacheBehaviorTombstone的东西
对应用程式非常有用
能够告诉你们 从未有缓存与曾经缓存
但被删除的档案之间的区别
当你们设置行为
而系统删除了一些缓存里的档案
这样会截短了档案
档案仍然会放在那里， 但大小将被设置为0
这告诉缓存档案已被系统删除
最后，可用空间和可分配空间
是不同的
在这个版本还有很多Android 安全
而我们只有一点时间来谈论
我想强调一些隐私协议
这是Android O的新功能
如果你们一直 使用Android ID
现在就需要知道
每个应用程序均有所不同 每个用户的设备亦不同
它不能夠在应用程序之间 在同一台设备上跟踪用户
同样，如果你们一直在反思
系统属性以得到net.hostname 现在它是清空的
如果你们要说
我真的需要用ID做广告 使能够给用户
发送适合情境的广告
这就是Google Play Services里 Advertising ID API的功能
到Google Play去看看吧
但是你不能使用Android ID
你们不能以以往同样的方式相信它
我在这里有一张 关于WebView的幻灯片
但是罗曼把它拿走了
我还有另一件事想提一下
这是关于WebView的安全浏览 因为现在WebView
每六个月就会放到Play Store
你们将能够选择安全的浏览功能
早于Lollipop也可以 这太棒了
在主题演讲中我们 也看到了一些新功能
我们称之为Google Play Protect
事实上涉及很多以前 已经到位的技术
但真的没有什么知名度
而确实它们是值得有知名度的
每时每刻我们一直都照看着人们
任何已启用Google Play Protect的设备
任何上传到Play的应用程序
都会被预先筛查以及每个 新版本上传时都会不断重新筛查
当每次安装应用程序时
而已经设置Play Protect
应用程序也会进行筛查
即使从另一处地方或ADB安装
我们真的感到兴奋
还有很多东西要谈谈
很多有关Android安全要谈一下
他们给了我整堆幻灯片
我说你们为什么自己 不发表一场演讲?
其实我不会这样说 无论如何他们也有自己的演讲
星期四下午2:30
你们要到那里 并找出Android安全的新功能
从头至尾
从Kernel加固
到WebView所有內容
语言及运行时
我想你们已经知道 我要说什么了
今天早上我们宣布了 对Kotlin官方支持
你们在台上看到Steph还有 我看到她坐在那里
在门厅
如果你们在I/O遇到她 就跟她说声谢谢
Steph 以及她背后的整个团队
在过去做了很多精彩的工作
用了很多时间才能带给你们这个
跟她说声谢谢吧
她会把你们的谢意传到整个团队
今天就可用于Android 3.0
已经有很多在线文档
我可以花几个小时来谈论Kotlin
为什么这对你们有好处 为什么这对我们有好处
其实我是否应该劫持这次演讲?
他可以的
事实上他真的很棒
事实上他非常棒
不幸的是
这一节我们没有那么多时间
只好邀请你们星期五上午10:30
到这里来
有一个名为Kotlin简介的演讲 由Andrey Breslav主持
他是来自JetBrains的 首席语言设计师
以及Hadi，他是JetBrains的 开发人员倡导者副总裁
然后下午在演讲厅4
主题为「生活是美好的， 一切都会OK，Kotlin 在这里」
由来自Pinterest的Christina Lee
及来自Square的Jack Wharton 主讲
这对我们很重要
因为我们给你带来Kotlin的原因
就是你们社区正在使用Kotlin
我们听到了，听到你们的声音 带给你们想要的
所以我们想由你们社区到舞台上讲话
且讲得比我们更好
另外，如果你们有任何问题
可以来到开发人员沙盒 在Android Platform展台
今天由下午3:00到4:30 星期四由下午2:00到4:00
星期五由中午12:00到下午2:00 p.m.
Andrey语言设计师也会在那里
回答你们所有的问题
如果你们要知道关于 Kotlin的所有事情请到那里去
只要到那里去 问你们的问题
现在，正如 Steph 提到的 我们也在倍增另一些语言
Java编程语言
我们也有C 及 C++
对于Java编程语言
我们正在添加新软件包 到Android O中
我们有java.time 它终于做到更容易地
操纵时间和日期
这是有道理的
它比较旧的API变得更有意义
这是关乎时间的问题
对啊，这是时间的问题
我们也带来了java.nio.file
它改善了美好的 旧java.io.file API
允许你们访问档案的特性
让你们轻松操纵路径和读取档案
我们来看看一个例子
最后是java.lang.invoke
reflection的轻微变化版本
这是粗略地近似 它真的很酷
它让你们处理应用程序 里的转换和包装方法
这是一个新档案API的例子
你们可以使用路径类别 以得到路径
然后只需要呼叫files.lines
它就会读取整个档案的内容
你们也会获得一个流
在这个例子中，我使用 lambdas和流API
以删除所有空的行列 而所有的行列
都由英镑符号开始 然后我把所有的东西
收集到最后单一行流
这比以前容易得多了
好吧，这是运行时的一些变更
今天早上我们已听说过一些內容
这个星期还有更多
现在并发—复制收集器
基本上使一切更快更好
并发—复制 意味着没有暂停时间
除非有完整的GC
它可以做到所有
需要在后台做的事 而你们还在做其他的事
尤其是其中最棒的是
它实际上能夠压紧前台的事
以前，我相信过往的版本中
它能夠压紧前台的事 这真的很好
可以进行碎片整理 使那些堆更细小
可以使分配和收集进行得更快
当活动在后台进行时它才能这样做
它会进入闲置状态
当处于闲置状态时 然后去做
当它在前台时
就不能夠对那些堆进行扩展
及整理碎片
现在它可以收集在前台
在前台进行碎片整理 一切都变得更快
也有一个全新且更快的机制 用来进行配置
我们只需做指针碰撞分配
这样速度要快得多
收集得更快
而这一切基本上导致更少的延误
更快分配好所有东西 更快收集好所有东西
意味着只需处理垃圾而一般来说 在O版本中使用ART内存的速度要快得多
许多各样的优化 循环展开，内联
其中一件值得注意的事
Dalvik被创建时 其记忆类型受到限制，对吧?
这一切都是关于 与Dalvik节省内存
这也意味着它只能
做这么多的优化
它有点像到达生命的尽头
尽可能做优化的事情
当ART上线时 基本上他们放在平台上
我们能夠创建未来的优化
现在我们开始采摘那些好处
包括每个版本
包括O和未来的版本
我们将要能够做得越来越多
他们在这个版本中还有一堆
你们应该了解一下 本周稍后的演讲
有关这方面的更多信息
还有DEX 地区
这特别改善了活动的启动时间
因为我们在同一空间 收集所有内存
当应用程序正在启动时 这样更容易和更快地访问
星期五早上有一个演讲
题目为性能，记忆与改进
到那里查看更多的细节
除了平台外 我们还有支持程序库
我们有其他机制用来传送东西
这并不只在O版本提供
我们想提及其中一些例子
有个v26测试版本
与开发者预览2一起出版
这是我们已经说过有关 文字，字体和XML
可下载的字体，以及 自动调整TextView的东西
全部都在那里
你们可以查看一下
此外还有一些我们称之为 EmojiCompat的东西
其中最大的emojis问题是
如果你们的朋友们 给你发送某些的emojis
而这些emojis 来自未来的标准
而不是正在运行的版本
那么你们就看不到那些emojis
只会看到一些方格
虽然我看过一些更具 吸引力的emojis，但不是很有意义
如果你们能夠把已更新emojis
放在设备上，那岂不是很好?
现在我们有两个机制
应用程序可以用来更新emojis
一个是应用程序实际地 与已更新的emojis捆绑
他们可以到Play Store 更新应用程序
然后他们的用户进行更新
用戶就可以得到更及时的emojis
另一个可能是更好的 长远解决方案
实际地使用一项服务
我们可以提供可下载的字体
这之前我们曾提及过 他们可以通过可下载的字体
自动得到更新，对吧?
应用程序可以构建为
具使用可下载的字体的功能
以使用更新的emojis 只要我们提供到服务
再说一次，明天上午
到支持库的新功能的演讲 以了解更多有关的信息
我们也有更多有关动画的东西
除了有关AnimatorSet
我刚才提到的小事
现在我们有依据物理的动画材料
如果我们想看动画形式
具有基本动画的能力
这是以速度驱动的动画
到目前为止在我们的平台上 所有动画的性能
都以这个持续时间的概念来驱动
由你们告诉它要运行多久
但是有很多动画
你们真的想以速度来驱动
尤其是
由用户互动驱动的动画
你们在屏幕上拖动一些东西
如果它从你们的手指 开始起飞时的速度
跟你们放开时拖动的速度相同 这不是很好吗?
甩，滚动，所有的东西
它真的需要一个 以速度为基础的动画系统
你们可以使用animators这样做
它真的很乏味
它需要数学
数学很难
我们把那个性能变得灼热
到这个全新的物理动画系统
这系统更自然
更多互动，更可中断
因为它真的意图 使用那个用户交互模型
这里是个小演示
当我们拖动着顶部的圆圈
另外两个圆圈基本上是
通过你们定义的弹簧 链接到顶部
所以它们在空间中追随着
并不是使用锁步
基本上是在连接的弹簧上
它们立即从互动受益
以及这些弹簧的物理学概念
星期五下午有一场演讲谈这个
都是关于全新的 以物理学为基础的动画材料
如果你们想了解更多有关的信息 请到那里去
架构组件
这已经在主题演讲中提到
我们认为有时Android的开发
比所需要的有点困难
我们退后一步，说，OK
有什么主要问题是我们应该做的
为了应用程序开发人员 再尝试简化?
还有几个 现在我们已经具体地运行
或是围绕生命周期
显然这样很难去处理
你们的活动可能随时死亡的事实
当你们旋转屏幕时 或者它走到后台
或任何其他事情
查看你们确切地在什么状态
这可能有点乏味
而且这是个持续的问题 所有应用程序开发人员
都需要处理
我们采取了另一个途径
使这个更容易
而且我们
也查看了持久性
现在你们可以发出原始的SQL
这就是你们系统上所有的东西
我们有一种全新的做法 这建立在这性能上
使它更容易使用更强大
这个星期我们要再谈一下
我们要有一个架构组件简介
我会建议你们今天下午到那里去
事实上就在这一节演讲后
然后明天早上
我们会提及生命周期问题
以及我们解决问题的方法
一个有关持久性和离线的方法
这都是一些点滴 而事实上你们可以
在早前版本的表格尝试
所以查看一下
希望这会使你们 开发人员生活轻松一点
还有一些行为变更
你们会比较关心其中一些变更相比其他的
后台应用行为也有一些变更
特别是位置
如果你们以后台应用运行
就只会得到粗略的位置信息
做这些事为了使它不会更困难
而使设备更好，对吧?
如果在任何时候 所有应用程序都有这些功能
或在任何时候它们能夠 做任何要做的事
那么基本上这会耗尽电量
大家都在做太多工作了
我们尝试恰如其份
实际上哪些应用程序 哪个时间需要服务
使我们能够为用户
带来更好的体验
你们的用户也有更好的体验
其中一个是位置
当你们在后台时 这些不精确的信息
另一个是唤醒锁
我们注意到这是很常见的
首先应用程序会进入后台状态 然后进入缓存状态
在当时会有一个唤醒锁
就这样保存那个唤醒锁
它会保存很长一段时间
这样真的会耗尽电量
现在进入缓存状态一段时间后
唤醒锁会自动松开
使装置不会
进入那不合时宜的的状态
还会限制程序
当在后台的执行
警告对话框也有一些变更
尤其是，这种全新类型的窗口
称之为Type Application Overlay
如果你们针对O SDK
如果你想要警告对话框功能 就必须使用这类型的窗口
如果你们使用早期的版本 显然这种窗口是不存在的
你们也不会用这个窗口
无论你们正在使用哪窗口类型
它们都要在这种类型的应用程序 重叠窗口下进行分层
因为现在我们有更明确定义
分层政策
今天下午5:00 我们有更多的信息
后台检查与其他见解
如果你们想知道更多细节 我们到时见
最后我们曾经答应过 回到这里，对吗?
对啊
还有一件事?
好吧
我们再谈谈这一点
我的意思是我们 肚子在打鼓，不是吗?
像鸡腿卷怎么样?
我们可以吃一客鸡腿卷?
好吧
听起来不错
不幸的是，我看着台上的定时器
我要说，O代表
噢
哦，不要这样
我们没时间了
谢谢大家