写点什么

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