Android开发周报:Google I/O 2015回顾、Context源码解析

jopen 9年前

原文</i>  http://www.infoq.com/cn/news/2015/06/Google-2015-Context

新闻

  1. 《Android:Google I/O 背后的抱负》 :让人满怀憧憬的Google I/O 2015已经缤纷落幕了。Android M、可穿戴设备、物联网、虚拟现实、以及Google Now、照片、地图产品的各种升级让人目不暇接。但是,回想起来,似乎又没有太多新鲜的东西。大会的跟踪报道和综述已经是不少了,基本上都大同小异;流水账式地挑一些吸引眼球的产品,枚举一下新功能。那么,你看懂了这一次的Google I/O吗?
  2. 《Android M 正式登场,偏重打磨和品质》 :果然如传闻的那样,在Google I/O 2015 上,Google 一上来就端出了最多人关心的新版移动系统:Android M(现在还不知道 M 代表的到底是什么...)。虽然在现场官方介绍的只是开发者预览,但从中我们还是可以掌握一些新版本的发展方向。和 Lollipop 巨大的变化相比(尤其是视觉上),M 更注重对 Android 体验细节的雕琢。
  3. 《谷歌为重返中国出新招》 :早有传闻 Google 有意将 Play Store 带回中国,并且有消息称今年 I/O 大会上有中国版的 Play Store 发布,但最终无声无息。而据一财网报道,Google 正在和国内的手机厂商洽谈,如果愿意预装 Google Play Store,Google 将为每部手机补贴 1 美元。中华酷联及 vivo、OPPO 中,至少有三家厂商和 Google 在聊。

教程

  1. 《 Android应用Context详解及源码解析》 :我们开发App应用程序时每天都在使用Context,获取资源、启动一个Activity等。但是很少有人关注过这玩意到底是啥,也很少有人知道 getApplication与getApplicationContext方法有啥区别,以及一个App到底有多少个Context等等的细节。本文基于Android源码,详细分析了Context。
  2. 《Android应用程序UI硬件加速渲染的Display List构建过程分析》 :在硬件加速渲染环境中,Android应用程序窗口的UI渲染是分两步进行的。第一步是构建Display List,发生在应用程序进程的Main Thread中;第二步是渲染Display List,发生在应用程序进程的Render Thread中。Display List是以视图为单位进行构建的,因此每一个视图都对应有一个Display List。本文详细分析这些Display List的构建过程。
  3. 《在 Android 中使用 data-binder 绑定布局 xml 与数据》 :Data Binding即数据绑定,在很多前端框架中都有应用,比如Google维护的AngularJS就支持View和Model的双向绑定。当数据更新,框架收到通知,视图可以自动更新,View和Model可以做到松耦合。在前几天的 Google IO 2015 中,Google 在 support-v7 中新增了 data-binder,使用 data-binder 可以直接在布局的 xml 中绑定布局与数据。 这里 是另一篇介绍Data Binding的文章
  4. 《Google I/O 2015 为 Android 开发者带来了哪些福利?》 :本次I/O大会正如前期预测的一样,并没有带来太大的惊喜,发布的几款产品也是中规中矩,基本上是对产品的一次小幅度升级。不过或多或少也给开发者带来了一些新的东西,本文介绍了一些大会的小福利。
  5. 《Android中HTTP相关的API》 :Android中大多数应用都会发送和接受HTTP请求,在Android API中主要由两个HTTP请求的相关类,一个是HttpURLConnection,另一个是Apache HTTP Client。这两个类实现的HTTP请求都支持HTTPS协议,基于流的上传和下载,可配置超时时间,IPv6和连接池。本文详细分析了Android 中Http相关的知识。
  6. 《Android应用层View绘制流程与源码分析》 :Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View实现的,当然自定义控件也不例外,所以说这些View应该都具有相同的绘制流程与机制才能显示到屏幕上(因为他们都具备相同的父类View,可能每个控件的具体绘制逻辑有差异,但是主流程都是一样的)。经过总结发现每一个 View的绘制过程都必须经历三个最主要的过程,也就是measure、layout和draw。阅读文章,了解更多细节。
  7. 《Google I/O 2015视频分享》 :该篇是由ChinaGDG发享的本次I/O大会的部分视频,无法亲临现场的小伙伴也可以感受一下大会的氛围。
  8. 《Android中的MVP架构》 :MVP模式是一个把view从低层模型分离出来的一种现代模式。MVP由model–view–controller (MVC)软件模式衍生而来,常用于构建UI。但是大家怎么样把MVP运用到自己的Android 应用上呢?我们要把MVP模式运用到什么地方?Activity上、Fragment上、还是像RelativeLayout这类的ViewGroup 上?本文给出了答案。

开源项目

  1. JADX :一个Android反编译神器,不同 于常见的dex2jar,这个反编译器生成代码的try/catch次数更少,View也不再是数字id了,可读性更高。
  2. cheesesquare :该项目演示了Google I/O 2015发布的几项最新功能,在你打算学习新功能之前,可以运行该项目预览效果。
  3. MultiThreadDownloader :MultiThreadDownloader是一款逻辑比较简单但实用的Android多线程断点续传下载器,支持多线程下载、断点续传、显示进度等。

工具

  1. ButterKnife Zelezny :ButterKnife Zelezny是一个ButterKnife的生成器插件,可以帮助我们自动生成注解。
  2. GsonFormat :大部分的App和服务器端进行数据交互都是通过Json实现的。每次服务器端返回Json数据时,客户端需要根据api接口生成相应的实体类,该插件可以自动生成相应的实体类代码。
  3. Android Studio 1.3 Preview1 :Android Studio的最新预览版。
</div>