写点什么

Android 开发周报:Google I/O 大会日期确定、Bitmap 内存详解

2016 年 1 月 19 日

新闻

  1. 《2016 Google I/O 大会日期确定》:近日,谷歌正式宣布了一年一度的 Google I/O 开发者大会 2016 年的举办日期为 5 月 18 日—20 日。过去的一年对谷歌来说相当重要,他们发布了安卓 6.0,在自动驾驶汽车领域独领风骚,进行了架构重组,诞生了名为 Alphabet 的新公司。虽然取得了许多成绩,但并不代表谷歌会躺在功劳簿上睡大觉。在今年的 Google I/O 大会上,谷歌依然会带给大家许多惊喜。此外,微软的重新崛起和苹果的步步紧逼也让谷歌压力山大,如果谷歌不能拿出更好的产品,恐怕就会在三巨头的竞争中落于人后。
  2. 《ZeroTurnaround 宣布 JRebel for Android 1.0》:ZeroTurnaround 发布了 JRebel for Android 的第一个稳定版本。它是流行插件 JRebel 的 Android 版本,允许修改正在运行中的应用程序,而且不必重新部署或重启。JRebel for Android 适用于 Android Studio,可以从 JetBrains 插件库下载,支持所有运行 Android 4.0 及以上版本的手机和平板。ZeroTurnaround 提供了为期 21 天的免费试用,起步价为每年 49 美元。

教程

  1. 《Android 开发绕不过的坑:你的Bitmap 究竟占多大内存》:从事Android 开发的同学几乎都遇到过OOM 的问题。很多时候引起OOM 的原因就是图片太大。因为图片消耗内存比较严重,所以在加载之前我们最好知道要加载的图片会占用多大的内存。 getByteCount就是来干这件事情的,它是由 Android API 直接提供的一个方法。本文顺藤摸瓜,详细分析了该方法的实现过程。
  2. 《手把手教你用Kotlin 实现ButterKnife》: Kotlin 是一门与 Swift 类似的静态类型 JVM 语言,由 JetBrains 设计开发并开源。与 Java 相比,Kotlin 的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与 Java 高度可互操作,可以同时用在一个项目中。当然,大家对 ButerKnife 一定也不陌生。本文讲解了用 Kotlin 实现 ButterKnife 的完整过程,是我们学习 Kotlin 的优秀教程。
  3. 《如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion》:当你发布一个应用之后,可能没过几个月 Android 系统就发布了一个新版本。但之前所有东西还能够正常工作,这是因为 Android 支持向前兼容。用户在升级到新版 Android 的时候,用以前版本的 SDK 构建的现有应用理论上应该不会出问题。这就是 compileSdkVersion, minSdkVersion 和 targetSdkVersion 的作用,他们分别控制可以使用哪些 API,要求的 API 级别是什么,以及应用的兼容模式。阅读文章,了解更详细的内容。
  4. 《AndroidFlux- 异步请求和网络》:Flux 是一个由 Facebook 开发的、利用单向数据流实现的应用架构,用于 React。Flux 应用有三个主要的部分组成:调度程序、存储和视图(React 组件)。在移动开发中,异步网络操作必不可少,本篇着重介绍在 Flux 模式中如何处理异步操作的问题,并深入一些细节,比如如何在异步操作时显示异步状态。另外,网络操作仅仅是异步操作的一种,最后扩展 ActionCreator 的语义来处理更多的业务逻辑。
  5. 《Android 工具箱之 Context 解析》:Context 是 Android 开发过程中出现频率最高的类。通过 Context 可以获取应用状态的信息。有了 Context,activitys 和 Fragments 以及 Services 能够使用资源文件、图片、主题以及其他的文件夹内容。Context 也可以用于 Android 自带服务,例如 inflate,键盘,以及 content providers。本文从 Context 的用途、适配器、内存溢出、Application 与 Context 等几个角度分析了 Context,对于我们深入了解 Context 有一定的帮助。
  6. 《Android 应用开发之自定义 View 触摸相关工具类全解》:本文是对于自定义 View 中工具类、事件传递的一个总结。从 ViewConfiguration 基础参数工具类、VelocityTracker 手势速率工具类、GestureDetector 手势工具类等几个方面总结了自定义控件常用的知识点。其实关于自定义控件的基础触摸相关的内容并不是很多,掌握了文章中提到的这些内容,相信你就能够玩转 Android 自定义控件触摸相关的处理。
  7. 《事件总线源码分析》:在 Android 中处理不同组件之间的事件传递依靠广播机制,即 Intent/BroadcastReceiver 机制,其原理类似于传感网中的 Ad hoc 网络模式,所有组件处在一种无序状态。事件总线机制则引入中心控制节点来集中管理事件,类似于移动通信网络中的基站功能。本文以 EventBus 源码为例,请解了 Android 中事件总线的一些知识点。

开源项目

  1. AutoRobRedPackage :这是一款自动抢微信红包的开源项目,自带关闭窗口功能。
  2. FastAdapter :RecyclerView 是 Android 中最常用的组件之一,使用 RecyclerView 的时候,必须实现 Adapter 中提供的相应接口。所以每次调用 RecyclerView 时,就需要重复实现 Adapter 中的这些方法。FastAdapter 就是用来解决重用问题的,使用 FastAdapter 后,我们就只需关心 item 与 view 的部分就可以了。
  3. GifView :这是一个播放 Git 图片的库,支持播放、暂停、停止功能。

图书

  1. 《Gradle for Android(译)》:很多同学都写过有关于 Gradle 的文章,但大家侧重点各有不同。Gradle for Android 是一本详细介绍 Gradle 的图书。该项目是《Gradle for Android》的中文翻译,推荐大家仔细阅读,了解 Gradle 的工作原理。

工具

  1. pngquant :pngquant 是一个有损的 png 压缩开源库,提供了命令行形式和源码库形式。通过这个库的转化可以显著减少 png 文件大小(通常减少 70%),并且保持原有透明度通道。另外,生成的图片文件可以兼容所有现代 web 浏览器,在 IE6 下比 24-bit PNGs 也有更好的表现。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2016 年 1 月 19 日 18:003689
用户头像

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

关注

评论

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

常用分布式组件

张瑞浩

管理堆内存,Rust是怎么做的?所有权!

袁承兴

c++ rust 堆内存管理 内存管理 垃圾回收

一致性Hash算法实现 - Java

羽球

极客大学架构师训练营 一致性哈希

架构师训练营 No.5 周总结

连增申

一致性HASH的golang实现

麻辣

架构师训练营第五周学习总结

Bruce Xiong

架构师训练营 第五周 【作业】

小K

【架构师训练营】week 5 homework

eazonshaw

极客大学架构师训练营

架构师训练营week05 summary

Nick

极客大学架构师训练营

一致性Hash算法

羽球

一致性hash

架构师训练营第 0 期第5周作业

无名氏

缓存、异步、集群和分布式等架构模式的实践

dony.zhang

负载均衡 缓存 消息队列 分布式缓存 异步

架构师训练营作业 (第五周)

小遵

架构师训练营 - 第五周 - 学习总结

Anrika

极客大学架构师训练营

2020-07-04-第五周作业

路易斯李李李

week05学习总结

Safufu

架构师训练营 第五周 分布式理论知识分享1

极客

架构师训练营 No.5 周作业

连增申

架构师训练营 第五周 作业

亮灯

架构师训练营 - 学习笔记 - 第五周

小遵

架构师训练营 第五周 学习总结

亮灯

架构师训练营第 5 周学习总结

Season

缓存 反向代理 消息队列

架构课第5课作业

张瑞浩

week5-作业 一致性 hash 算法

a晖

Week 05 作业

鱼_XueTr

负载均衡 hash

区块链重塑供应链

CECBC区块链专委会

week05 作业

Safufu

分布式缓存架构

chenzt

架构师训练 第五周 作业

LiJun

作业 - 第5周

Happy-Coming

「架构师训练营」第 5 周总结

guoguo 👻

极客大学架构师训练营

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

Android开发周报:Google I/O大会日期确定、Bitmap内存详解-InfoQ