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

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

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

Session1: Android中的新增功能

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

Android增强的通知

  • 对于实时通信应用,可以直接在通知栏里对通知进行恢复(这点国内好多厂商在5.0的系统上都做到了。比如,锤子科技) 详细参见官方文档

快速设置

  • “快速设置”就是直接从通知栏显示关键设置,比如操作允许用户在快速设置栏里添加用户自定义的模块(胡坤,这个主题的分享者说:在Android7.1.1上可以添加App),进行快速启动。(Android手机上下拉的通知栏里,添加用户自定义的模块,进行快速启动,这块国内好多厂商已经做了)。详见API:quicksettings

低电耗模式的改进Doze:

  • 在Android 6.0 上的低电耗模式,当用户设备未插接电源、处于静止状态且屏幕关闭时,该模式会推迟 CPU 和网络活动。在7.0上,通过在设备未插接电源且屏幕关闭状态下、但不一定要处于静止状态(例如用户外出时把手持式设备装在口袋里)时可以使用部分 CPU 和网络限制,进一步增强了低电耗模式。详见官方文档,对低电耗模式和应用待机模式进行针对性优化

后台优化:Svelte项目

  • Android 7.0 移除了三项隐式广播(CONNECTIVITY_ACTION 、 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO ),以帮助优化内存使用和电量消耗。之前版本的 Android 中,应用可以注册接收来自其他应用(例如相机)的隐式 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO 广播。当用户使用相机应用拍摄照片时,这些应用即会被唤醒以处理广播。

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

  • 面向Android 7.0 开发的应用不会收到 CONNECTIVITY_ACTION 广播,即使它们已有清单条目来请求接受这些事件的通知。在前台运行的应用如果使用 BroadcastReceiver 请求接收通知,则仍可以在主线程中侦听 CONNECTIVITY_CHANGE
  • 应用无法发送或接收 ACTION_NEW_PICTURE 或 ACTION_NEW_VIDEO 广播。此项优化会影响所有应用,而不仅仅是面向 Android 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会场的第一个分享,其实上面的分享文档上都有,查看更详细的文档请移步:

  • Android 7.0 for Developers

  • Android 7.1 for Developers

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

Constraint Layout

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

layout-inspector 布局分析器:

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

FireBase

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

Lint

  • 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减少很大的体积。

详情参见:

  • Webp 官方文档:WebP
  • apk 减肥(瘦身) 官方文档: Reduce APK Size

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

Session3: Android支持库的新变化

  • Fragments

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

  • NotificationManagerCompat

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

  • 用来替换WebView的Custom Tabs:

前提设备上必须要有Chrome

  • VectorDrawableCompat
  • Night Mode
  • ColorStateList
  • BottomSheetDialogFragment
  • AppBarLayout
  • CollapsingToolbarLayout
  • StateListAnimator

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。

电池诊断:

  • Batterystats and Battery Historian Walkthrough

  • battery-historian

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

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

官方文档:Vulkan Graphics API

总结:

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

  • 参加这样的大会,在会场内我没学到很多东西,但我知道了很多我不知道的东西,我记下了我不知道的,然后Google他们,然后学习他们?;

  • 会后Google了一下,发现那些老师分享的东西其实在官网的文档都有了,只不过是我不知道而已;

  • 我一直很闭塞,走出来才发现:喔噢,这么多开发者,好多有意思的事儿;

  • 你看,跟着文档走,然后“ it’s a good idea to get your hands dirty and try it for yourself”,那么你也是大神了;

  • 最后,重要的一点:午餐、晚餐——我吃的很爽,对于我这样的Low B,有吃的,还不收费,当然是放开吃啦!哈哈!

Google Developer Day 2016见闻相关推荐

  1. Google I / O 2016后果

    这就是包装. Google刚刚结束了年度开发者大会Google I / O的主办,该科技巨头在大会上发布了一些令人兴奋的新产品并发布了一些重要公告. 让我们来看看Google I / O 2016的所 ...

  2. 参加Google Developer Day 2009归来,互联网营销

    前言 继去年参加了Google Developer Day 2008后,又迎来了Google Developer Day 2009,谢谢公司给我的时间,得以如愿参加这个技术盛宴. 我充分吸取了去年的教 ...

  3. 了解使用Android ConstraintLayout (Google I/O 2016)

    说明 Google I/O 2016 上发布了 ConstraintLayout, 简直是要变革 Android 写界面方式. 于是第二天我立即找到相关文档尝试, 这是官方提供的 Codelab 项目 ...

  4. Google I/O 2016——人工智能真正的起点

    这是近年来Google第一次把I/O开发者大会搬到了一个三面环海风景绝佳的露天剧场里举行(见图1).数千来自世界各地不同肤色.不同语言的开发者齐聚一堂,大家自发组成的人浪一波比一波汹涌,会场的气氛比加 ...

  5. ProAndroidDev_The latest posts from Android Professionals and Google Developer Experts.

    ProAndroidDev The latest posts from Android Professionals and Google Developer Experts. https://proa ...

  6. Google I/O 2016 笔记之图像压缩

    写在前面 Android开发中的图像压缩是一个很重要的部分.而这篇文章会让我们从另外一个角度来认识Android平台下的图像压缩和优化. 这篇文章更适合和设计师一起来看,所以,如果你和你的设计师是好基 ...

  7. What is new in Android security (M and N Version) - Google I/O 2016 翻译

    截至发博,字幕还在后期中,应该快了吧. YouTube视频链接:https://www.youtube.com/watch?v=XZzLjllizYs 字幕翻译: 1 00:00:01,820 –&g ...

  8. Stack Overflow Developer Survey 2016 Results(2016stack overflow 开发者调查报告)

    Overview总览 This year, over fifty thousand developers shared where they work, what they build, and wh ...

  9. 一篇google developer 安全介绍的翻译

    http://wenku.baidu.com/view/8581de0403d8ce2f0066230b.html 这篇文献翻译了android developer上面的安全部分,大家参考.

最新文章

  1. android permission 访问权限大全
  2. BS-XX-026 基于SpringBoot 实现个人理财系统
  3. vue的插槽slot
  4. php SQLite mysql_PHP实现的sqlite数据库连接类
  5. JavaScript中判断为整数的多种方式
  6. 实战总结:我是怎么从0到1做后台业务系统的?
  7. linq结果转换object_19.07.26 JS 里的数据类型转换amp;普通类型和对象的区别
  8. 爬虫爬当当网书籍信息
  9. [代码片断]SQL中解析XML数据
  10. mysql5.7.22.zip使用,mysql5.7.22 zip 版安装
  11. 服务器2008系统提权工具,提权教程:winserver2008R2溢出提权
  12. 使用Arduino,蓝牙和Android app的开源爬墙机器人
  13. 信鸽 ios tag推送 php,信鸽推送集成
  14. GT540M最新驱动(windows XP 32位),安装NDIVIA安装程序无法继续解决方法
  15. VisualC++6.0如何打开之前的程序
  16. linux带方括号进程,Linux特殊符号大全(转摘)
  17. 最小二乘法 通俗讲解
  18. 【实用工具】Gephi下载与安装
  19. 【智利支付】智利外贸收款方式Servipag
  20. TodoList反选

热门文章

  1. 微信小游戏-飞机游戏玩法改造系列(一)
  2. restrict和volatile
  3. 关于vue,在当前二级路由点击第三级路由的时候,替换当前的二级路由
  4. MiniUI官方表单验证示例
  5. 极验滑块加密JS分析(一)
  6. 宾馆客房管理系统正文
  7. 几款优秀的 Windows 虚拟串口模拟器
  8. Fragment 懒加载
  9. 冯洛伊曼计算机工作原理的设计思想是,冯诺依曼计算机工作原理的设计思想是...
  10. js打开新窗口时隐藏掉地址栏的解决方案