前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小兴逛Google I/O 2017(day2实况)

小兴逛Google I/O 2017(day2实况)

作者头像
小时光
发布2018-01-29 15:17:21
8760
发布2018-01-29 15:17:21
举报
文章被收录于专栏:Technology ShareTechnology Share

作者介绍:陈志兴,Google I/O 2017大会的小时光茶社特派员 ,腾讯SNG增值产品部内容中心Android组leader,主要负责手Q个性化业务、手Q WebView等项目。喜欢阅读优秀的开源项目,听听音乐,偶尔也会打打竞技类游戏。

再出发

今天是Google I/O 2017开发者大会的第二天,山景城的天空一如既往地湛蓝,气温也非常舒适。经过一宿的休息,早上精力非常充沛,7:30分坐上同事丁教授的豪车飞奔会场,时刻准备着继续享受Google为大家准备的技术大餐。

今天的主题会议是从早上8:30开始,到晚上18:30结束。主题分享结束后,迎接开发者们的是一个狂欢音乐晚会(来自程序员的呐喊)。

为了不错过更多精彩的内容分享给大家,我这边时间安排得比较紧,听满了整整10场,午饭都是秒杀解决,哈哈。好了,下面继续给大家整理今天的精彩内容。

08:30-09:30 Architecture Components - Solving the Lifecycle Problem

今天听的第一个主题是Android架构组件相关的,主要分享如何解决Android组件和UI之间的生命周期问题。

Android组件和UI的生命周期管理比较复杂,比如子类需要重载各种方法(onCreate、onStart...)来处理生命周期逻辑,导致大部分代码都集中在Activity里面,造成文件代码行数庞大,维护成本高。

现在Google针对这个问题提出了一种新的解决方案:引入LifeCycleOwner、LiveData和ViewModel概念。LifeCycleOwner负责管理生命周期,LiveData负责设置数据,ViewModel负责管理当前界面的LiveData。LifeCycleOwner通知LifeCycleObserver驱动LiveData更新数据。这样设计框架的好处是按模块细分,各个模块之间耦合低,能够更好地维护代码。

09:30-10:30 TensorFlow Frontiers

第二个参加的主题是与AI相关的,主要分享TensorFlow的最新进展及性能强大的Cloud TPUs的。

简单介绍了一下深度学习的原理后,Google开始分享TensorFlow目前的状况。从Google分享的数据来看,TensorFlow在短短的1年时间内,超越其他的机器学习项目,已经成为行业的领头羊。

Google旗下的搜索、邮件、翻译、地图等产品都接入了TensorFlow,通过深度学习给用户提供更好的体验。

另外Google开发了第二代TPU,这款TPU专门为机器学习训练和推理设计,性能上极大提升。另外,Google即将为开发提供Cloud TPUs运算能力支持,而且接口封装非常友好,使用Cloud TPUs仅需要增加几行代码,使用起来跟本地运算差不多。

Google为了让更多开发者参与到TensorFlow来,专门提供了1000个TPUs来加速深度学习的研究,大家赶紧搞起。

最后Google提出了一个AutoML的概念,让模型通过深度学习来自动建立新的模型。看来,天网系统要被Google启动了。

10:30-11:30 Effective TensorFlow for Non-Experts

今天参加的第三个主题是如何快速有效地进行TensorFlow开发,其实是个TensorFlow入门教程。参加这个主题的人非常多,全民AI的时代终于到来了。

这个主题首先介绍了一下深度学习的流程,然后通过代码一步一步教你如何入门TensorFlow。Google为了降低深度学习开发的门槛,提供了一个高级API的库Keras,开发者可以很简单地调用API进行模型训练、预测等。

接着,Google通过一个简单的例子,教大家如何从实际场景上使用TensorFlow,如上图如何通过TensorFlow回答出这个男人在干嘛,他的衣服是什么颜色的?

11:30-12:30 What's New in Android Development Tools

这个主题主要从开发、编译、测试及优化四大方面分享Android开发者工具的新特性。

在开发方面,除了昨天提到一键转Kotlin代码、XML设置字体等特性外,还支持查看ByteCode代码,UI智能布局等功能,非常实用。

在编译方面,Android Studio3.0上面将支持Dex的增量编译等功能,编译速度将会得到提升5倍。

另外,Android Studion3.0除了对CPU、内存、网络分析工具加强后,还支持了对APK的分析功能,对分析方法数等场景非常有用。

12:30-13:30 How to manage native C++ memory in Android

这个时间段没有太感兴趣的主题,后来看到有个C++相关主题,而且演讲者还是个ACM SIGPLAN的前主席,想起了大学年代疯狂刷ACM题目的日子,感觉比较亲切就过去了。

演讲者看起来非常和蔼,跟而且PPT也有点像大学老师的风格,有种回到大学上课的感觉。整个分享围绕着如何在Java对象被释放后,持有的C++指针的对象怎么释放。

在Android里面,通常的做法是在Java对象被GC回收,触发finalizer之后进行Native对象的释放。但老师指出了finalizer这种方式在某些场景下存在风险,比如finalizer执行顺序随机可能会导致Native释放引发堆异常等。

最后提出了加入一个中间层PhantomReference队列,管理Java对象和Native对象的关系。在触发GC等场景下,统一释放Native变量。后面还提了一些C++关于智能指针的管理。

13:30-14:30 Open Source TensorFlow Models

这个是今天参加的第三个TensorFlow的主题,主要分享Google在图像方面的开源模型ImageNet和语言方面的开源模式SytaxNet。

ImageNet方面主要介绍了机器学习中图片的合成,也就是之前的DeepDream项目。DeepDream经过长期的训练之后,能够合成很多人类无法做到的艺术图片。

SytaxNet方面主要是关于语法分析,通过机器学习后,语法识别的准确度非常高,目前SytaxNet支持多种语言,包括中文。

这个主题中涉及到了很多论文,大家有兴趣的话可以深入研究一下。

14:30-15:30 Introduction to Android Instant Apps

这个主题主要介绍Android Instant App是什么及一些开发规范,内容比较简单。

上面这个图的文字“Apps that are there when you need them and gone when you don’t”,与微信小程序的产品思路非常相似,确实Android Instant App就是Android的小程序。

Android instant app可以理解为完整App的一个功能模块,这个模块可以独立运行,当用户使用的时候,可以仅下载instant App,达到快速打开的目的。目前可以通过Android Studion3.0来快速创建。

从这两天的分享来看,Google在Web上布局了AMP和PWA,在Native上布局了Instant App,基本覆盖了所有场景,非常强大。

15:30-16:30 Google Services on Android Things

这个主题主要分享了Android Things上面如何使用Google Service,特别是Android Things和TensorFlow的组合,意味着智能硬件的时代也不远了。

演讲者首先分享了Android Things的三层架构(硬件、系统和服务)及如何通过代码在Android Things上面使用Google的服务。

接着演示了Android Things加上TensorFlow的一个Demo:摄像机拍摄一张相片传到安装有Android Things的芯片,经过TensorFlow后,能够识别图片里面的动物是什么。

最后演讲者给出了一些扩展的场景,比如排队的时候,摄像头加TensorFlow可以计算排队人数等。

TensorFlow无处不在,与Android Things的完美配合,让未来的智能硬件时代充满无限想象。

16:30-17:30 What's new in Notifications, Launcher Icons and Shortcuts

这部分主要介绍Android O上面启动图标、快捷方式、通知三大部分的新特性。

启动图标方面,主要增加了一个foregroud图片,来解决不同启动图片形状下(系统设置栏可以设置系统图标为圆形或方形等)icon变丑的问题。

快捷方式方面通过广播发送INSTAL_SHORCUT的方式不再生效,需要通过新的API来调用。

通知这块改动较大,新增了通知类型,分别为Major Ongoing、People to People、By the Way,优先级分别是高、中、低。低优先级的通知在锁屏场景下不通知,而且会在通知列表里面以...形式存在。

另外通知这块增加了notification channels对通知进行分类,用户可以选择屏蔽某类或者全部屏蔽。

17:30-18:30 V8, Advanced JavaScript, & the next performance frontier

这个主题主要介绍V8引擎现在的框架和未来的优化方向。

在过去的1年内,V8引擎一直在优化流水线,目前的Turbofan+Ignition Interperter组合很好地解决了内存占用和执行性能的问题,整体速度上提升了20-35%。

同时Chrome上支持了对Node.js的调试,同一行代码上有多个调用,也可以区分打断点。对Node.js的开发者来说,是个非常不错的消息。

另外Chrome调试工具上面还支持了代码覆盖率检测,可以快速发现页面上引入但是没有被调用的代码,从而让开发者减少代码量,提高JS的执行性能。

最后,Web汇编又上场了,这个是目前V8引擎正在优化的一个主要方向。非常期待WebAssembly的普及,让JS的执行速度再上一层楼。

今天的主题分享到此全部结束,最深刻的还是TensorFlow。TensorFlow给了我们更多的想象空间,结合Android Things,我们可以让身边的硬件瞬间“活了”。全民AI的时代已经到来,未来充满无限想象。

明天,还有更多关于Cloud、VR和Android的精彩内容,切勿错过~

最后,开发者们的狂欢音乐派对开始了!!!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小时光茶社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 再出发
  • 08:30-09:30 Architecture Components - Solving the Lifecycle Problem
  • 10:30-11:30 Effective TensorFlow for Non-Experts
  • 11:30-12:30 What's New in Android Development Tools
  • 12:30-13:30 How to manage native C++ memory in Android
  • 14:30-15:30 Introduction to Android Instant Apps
  • 15:30-16:30 Google Services on Android Things
  • 16:30-17:30 What's new in Notifications, Launcher Icons and Shortcuts
  • 17:30-18:30 V8, Advanced JavaScript, & the next performance frontier
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档