【大咖分享】AI 大模型时代,架构师有哪些机遇和挑战? 了解详情
写点什么

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

  • 2015-06-02
  • 本文字数:2134 字

    阅读完需:约 7 分钟

新闻

  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 的最新预览版。
2015-06-02 07:293287
用户头像

发布了 121 篇内容, 共 40.1 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

《媒体大数据分类分级指南》团体标准正式发布,易观分析参与编制

易观分析

大数据 媒体

mysql数据库之schema与数据类型优化

@下一站

程序设计 代码优化 MySQL优化 11月日更 11月月更

react hook 源码完全解读

flyzz177

React

React源码解读之更新的创建

flyzz177

React

【零代码】6步轻松完成 Kafka 实时数据接入 MatrixDB

YMatrix 超融合数据库

json kafka 零代码 超融合数据库 YMatrix

「虚拟社交」爆火,资深玩家「当道」

融云 RongCloud

社交 虚拟形象

如何打造用户“上瘾”的产品?

产品海豚湾

产品经理 用户体验 产品运营 用户思维 12月月更

React源码分析6-hooks源码

goClient1992

React

设计原则 — S 单一职责原则

Lemoon Can

面向对象设计原则 设计原则

BSN-DDC基础网络DDC SDK详细设计(八):示例

BSN研习社

BSN-DDC

SeaweedFS 高可用方案最佳实践

冰心的小屋

分布式文件系统 SeaweedFS

Verilog 数据类型

向阳逐梦

Verilog Verilog数据类型 Verilog语法

金融行业业财融合实践:5A全面预算管理,赋能金融企业高质量发展

B Impact

CleanMyMac4.12Crack版本弹出密码如何解决教程

茶色酒

CleanMyMac CleanMyMac X CleanMyMac X2023

CorelDRAW软件2023最新版本更新下载

茶色酒

CorelDraw2023 CorelDraw

打造五层轻量监控体系

穿过生命散发芬芳

监控体系 12月月更

一块钱能做什么?

白洞计划

LinkedIn创始人对话 OpenAI CEO :创业公司的机会—价值中间层

B Impact

读者回信:为什么畅捷通可能会迎来戴维斯双杀?

B Impact

AngularJS进阶(三十五)浏览器兼容性解决之道

No Silver Bullet

AngularJS 12月月更 浏览器兼容

行话|入局「软件定义汽车」,你真的准备好了吗?

极狐GitLab

DevOps 汽车软件安全 软件定义汽车 极狐GitLab 汽车软件开发

FLStudio21水果体验版更新下载及功能介绍

茶色酒

flstudio FLStudio21

架构学习笔记1:什么是架构设计?

生活需要激情

架构训练营10期

React源码分析5-commit

goClient1992

React

数据治理:数据访问也需要治理!

用友BIP

React源码分析4-深度理解diff算法

goClient1992

React

Nexus3常用功能备忘

程序员欣宸

Java maven nexus3 12月月更

有奖征文 | 当我们谈操作系统时,我们在谈什么?

腾源会

开源 操作系统 opencloudOS

架构实战 模块一:作业

Geek_6c89ef

网络安全之反序列化漏洞分析

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

React源码解读之任务调度

flyzz177

React

  • 扫码加入 InfoQ 开发者交流群
Android开发周报:Google I/O 2015回顾、Context源码解析_移动_郭亮_InfoQ精选文章