Google Developer Day 2016见闻

2016-12-09  本文已影响176人  张庚

作为一个菜鸟今天凑热闹参加了GDD,还是挺有意思的,知道了一些新的东西,体验了Google好玩儿的产品。

今天我主要参加的是Android的分会场,当我在会场亲身体验的时候其实感觉也没什么,会场间歇玩儿手机的时候,发现——额,GDD竟然是个这么大的新闻!

以下是我残存的记忆能想到的内容整理出来的,但是不全!有好多代码没记下来,等到官方keynote和视频出来后,我再仔细学习下:

Session1: Android中的新增功能

这部分其实在早先时候的预览版里已经出现了,并且现在这部分的文档已经完全汉化:官网文档

Android增强的通知

快速设置

低电耗模式的改进Doze:

后台优化:Svelte项目

为缓解这些问题7.0所带来的优化:

解决方案:

JobScheduler,详见API文档JobScheduler

应用快捷方式

类似于iPhone上的3D Touch 和 魅族手机上的3D Press。详见官方文档App Shortcuts

Display Size

在android手机的设置里有个字体大小的设置,当你把字体调整为超大号后,你会发现一种非常诡异的现象:字体的UI布局不会变,字变大了,显得很诡异;7.0有个显示大小Display Size,可以让布局跟着你的字体大小来改变,不会显得那么诡异。

存储管理意图

app现在可以发一个ACTION_MANAGE_STORAGE的intent,将用户带入系统的“释放空间”界面。例如,如果一个App当前没有更多的空间可以使用了,它可以使用使用这个intent来让用户删除不需要的App和内容来释放额外的存储空间。

感想

Android7.0所带来的变化,其实在国内不少厂商已经早早都实现了,这一点国内的厂商还是走在前列的,为他们点个赞!

以上是Android会场的第一个分享,其实上面的分享文档上都有,查看更详细的文档请移步:

Session2: Android开发工具中的新增功能

Constraint Layout

约束性布局,是一个新玩意儿,详情移步:Build a Responsive UI with ConstraintLayout

layout-inspector 布局分析器:

比如你看到一个好玩儿的App觉着布局不错,可以用来分析它的布局。官方文档:Layout Inspector

FireBase

最新版的Android Studio集成了FireBase,今天又一个专门的分会场来讲解FireBase。官网:FireBase

Lint

详情异步,官方文档:Improve Your Code with Lint

更快的instant run:

在Android Studio刚更新2.0的时候,我发现真的是巨慢,更新2.1后有所改善,据说instant run 变得更快了。当时听了个稀里糊涂,说是用到了:hot swap ; warm swap ; cold swap。还有两个啥技术来着,等keynote ,官方视频出来后,我在好好学习一下。

详情移步,官方文档:instant-run

apk减肥之:PNG to WebP

同样的清晰度,WebP要比PNG减少很大的体积。

详情参见:

以上是第二场分享,我能记住的东西,等keynote和视频出来后,我再仔细学习一遍。

Session3: Android支持库的新变化

Fragment生命周期的改善,FragmentTransaction使用commitNow()函数,替代commit的效果。

改善的通知,调用getImportance()方法可以显示用户指定的重要通知。

前提设备上必须要有Chrome

Support库的东西挺多的,上面都是大会演讲者分享的东西,大概记了一下。

详情移步,官方文档:support-library

Session4: Android Wear2.0的新变化

Android的穿戴设备,这个时间段有两场Android的分享一场在Angular会场的"Android开发中的电量和内存优化",我去了Angular会场,等官方视频出来了,我再学习下这个会场的分享

Session5 :“哎呀!我的Android应用程序又崩溃了!”

设备兼容

不同厂商对于android的定制,会引起各种问题。不做兼容,也可能会造成app crash。

版本兼容

Android自身快速的迭代,本身各个版本之间的兼容性问题,也会造成App crash;

ProGuard

keep 防止资源误删除;

设备本身的功能

比如,在调用相机的时候,需要检查当前设备有相机。否则也会crash,问题来了,现在还有没有相机的设备吗?这可能是那位老师提到的——神奇的印尼市场吧!

调用设备功能的时候,要告诉App,我需要该设备<android: required = “true”>,并且检查设备上是否有相应的功能,such as: 相机、蓝牙。

不要用非公开的API

Session6 :Android开发中的电量和内存优化

这部分内容跟其他分享部分的内容有重叠,提到了好几个东西:Doze、App Standby、jobs、JobInfo。

电池优化

Doze、App Standby 官方文档:对低电耗模式和应用待机模式进行针对性优化

内存优化

在低内存的设备上,监听网络状态的变化,会引起明显的内存抖动,7.0去掉了CONNECTIVITY_CHANGE的广播,替代解决方案:JobScheduler

电池诊断:

Session7:Vulkan——专为Android打造的高性能3D图形API

一个白头发的大叔分享的,只能在Android 7.0上用,并且对硬件设备要求较高,估计是为了VR做准备,想买新手机的要不再等等吧!

官方文档:Vulkan Graphics API

总结:

接下来重点学习一下: Constraint LayoutJobScheduler 看看这俩东西是怎么玩儿的!

上一篇 下一篇

猜你喜欢

热点阅读