Android开发周报:Google I/O大会日期确定、Bitmap内存详解
2016-01-20 17:49:21 来源:郭亮 评论:0 点击:
近日,谷歌正式宣布了一年一度的Google I O开发者大会2016年的举办日期为5月18日—20日,相信今年的I O大会将带来更多的惊喜。本期周报为大家带来了Bitmap内存解析、Kotlin编写ButterKnife实战等多篇干货。
新闻
- 《2016 Google I/O大会日期确定》:近日,谷歌正式宣布了一年一度的Google I/O开发者大会2016年的举办日期为5月18日—20日。过去的一年对谷歌来说相当重要,他们发布了安卓6.0,在自动驾驶汽车领域独领风骚,进行了架构重组,诞生了名为Alphabet的新公司。虽然取得了许多成绩,但并不代表谷歌会躺在功劳簿上睡大觉。在今年的Google I/O大会上,谷歌依然会带给大家许多惊喜。此外,微软的重新崛起和苹果的步步紧逼也让谷歌压力山大,如果谷歌不能拿出更好的产品,恐怕就会在三巨头的竞争中落于人后。
- 《ZeroTurnaround宣布JRebel for Android 1.0》:ZeroTurnaround发布了JRebel for Android的第一个稳定版本。它是流行插件JRebel的Android版本,允许修改正在运行中的应用程序,而且不必重新部署或重启。JRebel for Android适用于Android Studio,可以从JetBrains插件库下载,支持所有运行Android 4.0及以上版本的手机和平板。ZeroTurnaround提供了为期21天的免费试用,起步价为每年49美元。
教程
- 《Android开发绕不过的坑:你的Bitmap究竟占多大内存》:从事Android开发的同学几乎都遇到过OOM的问题。很多时候引起OOM的原因就是图片太大。因为图片消耗内存比较严重,所以在加载之前我们最好知道要加载的图片会占用多大的内存。
getByteCount
就是来干这件事情的,它是由Android API直接提供的一个方法。本文顺藤摸瓜,详细分析了该方法的实现过程。 - 《手把手教你用Kotlin实现ButterKnife》:Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。当然,大家对ButerKnife一定也不陌生。本文讲解了用Kotlin实现ButterKnife的完整过程,是我们学习Kotlin的优秀教程。
- 《如何选择compileSdkVersion, minSdkVersion和targetSdkVersion》:当你发布一个应用之后,可能没过几个月 Android 系统就发布了一个新版本。但之前所有东西还能够正常工作,这是因为Android支持向前兼容。用户在升级到新版Android的时候,用以前版本的SDK构建的现有应用理论上应该不会出问题。这就是compileSdkVersion, minSdkVersion和targetSdkVersion的作用,他们分别控制可以使用哪些API,要求的API级别是什么,以及应用的兼容模式。阅读文章,了解更详细的内容。
- 《AndroidFlux-异步请求和网络》:Flux是一个由Facebook开发的、利用单向数据流实现的应用架构,用于React。Flux应用有三个主要的部分组成:调度程序、存储和视图(React 组件)。在移动开发中,异步网络操作必不可少,本篇着重介绍在Flux模式中如何处理异步操作的问题,并深入一些细节,比如如何在异步操作时显示异步状态。另外,网络操作仅仅是异步操作的一种,最后扩展ActionCreator的语义来处理更多的业务逻辑。
- 《Android工具箱之Context解析》:Context是Android开发过程中出现频率最高的类。通过Context可以获取应用状态的信息。有了Context,activitys和Fragments以及Services能够使用资源文件、图片、主题以及其他的文件夹内容。Context也可以用于Android自带服务,例如inflate,键盘,以及content providers。本文从Context的用途、适配器、内存溢出、Application与Context等几个角度分析了Context,对于我们深入了解Context有一定的帮助。
- 《Android应用开发之自定义View触摸相关工具类全解》:本文是对于自定义View中工具类、事件传递的一个总结。从ViewConfiguration基础参数工具类、VelocityTracker手势速率工具类、GestureDetector手势工具类等几个方面总结了自定义控件常用的知识点。其实关于自定义控件的基础触摸相关的内容并不是很多,掌握了文章中提到的这些内容,相信你就能够玩转Android自定义控件触摸相关的处理。
- 《事件总线源码分析》:在Android中处理不同组件之间的事件传递依靠广播机制,即Intent/BroadcastReceiver机制,其原理类似于传感网中的Ad hoc网络模式,所有组件处在一种无序状态。事件总线机制则引入中心控制节点来集中管理事件,类似于移动通信网络中的基站功能。本文以EventBus源码为例,请解了Android中事件总线的一些知识点。
开源项目
- AutoRobRedPackage:这是一款自动抢微信红包的开源项目,自带关闭窗口功能。
- FastAdapter:RecyclerView是Android中最常用的组件之一,使用RecyclerView的时候,必须实现Adapter中提供的相应接口。所以每次调用RecyclerView时,就需要重复实现Adapter中的这些方法。FastAdapter就是用来解决重用问题的,使用FastAdapter后,我们就只需关心item与view的部分就可以了。
- GifView:这是一个播放Git图片的库,支持播放、暂停、停止功能。
图书
- 《Gradle for Android(译)》:很多同学都写过有关于Gradle的文章,但大家侧重点各有不同。Gradle for Android是一本详细介绍Gradle的图书。该项目是《Gradle for Android》的中文翻译,推荐大家仔细阅读,了解Gradle的工作原理。
工具
- pngquant:pngquant是一个有损的png压缩开源库,提供了命令行形式和源码库形式。通过这个库的转化可以显著减少png文件大小(通常减少70%),并且保持原有透明度通道。另外,生成的图片文件可以兼容所有现代web浏览器,在IE6下比24-bit PNGs也有更好的表现。
感谢徐川对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群(已满),InfoQ读者交流群(#2))。
相关热词搜索:Android weekly goole bitmap 架构 & 设计 语言 & 开发 Android 移动 操作系统 Android周报
上一篇:阿里无线11.11 : Weex——关于移动端动态性的思考、实
下一篇:架构周报:Google和eBay构建微服务经验
分享到:
收藏