Android 开发周报:谷歌开发者大会在京召开、Android 秒级编译详解

阅读数:2170 2016 年 12 月 15 日 18:00

新闻

  1. 《谷歌2016 开发者大会在北京召开》:2016 年谷歌开发者大会在北京国家会议中心举办。谷歌大中华区总裁石博盟(Scott Beaumont)、谷歌全球开发者产品总监Ben Galbraith 等嘉宾出席了本次大会。2000 多位科技行业人士及开发者参与本次大会并分享交流了谷歌的创新科技、共同探讨如何构建更好的应用并参与全球移动创新。

  2. 《Google Developers 中国网站发布》:Google Developers 中国网站是特别为中国开发者而建立的,它汇集了 Google 为全球开发者所提供的开发技术资源,包括 API 文档、开发案例、技术培训的视频。谷歌开发者中文博客是另一个谷歌新发布的中文博客站点,这个博客以中文的形式向中国的开发者提供了来自全球的谷歌开发者博客的翻译文章。

  3. 《谷歌推出安卓7.1.1:增加对“图像键盘”的支持》:Google Play 的技术团队已经能够做到将应用更新包体积压缩65%。谷歌这次是从APK 安装包的本质入手,采用所谓“逐个文件修补”技术,原来安卓APK 安装包是由许多特殊协议的压缩文件组成,这样做可以将APK 整体安装体积压缩的更小,但缺点是版本更新时很难识别具体更改的文件。谷歌的“逐文件修补”技术可以比较未压缩前的新旧文件,将更新的文件进行归档然后重新压缩,然后检查确保新应用的版本,这大大缩小了更新体积。

教程

  1. 《Android 增量编译3~5 秒的背后》:Freeline 是由蚂蚁聚宝Android 团队开发的一款针对Android 平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。本文主要介绍了freeline 是如何实现快速增量编译的。

  2. 《MultiDex 工作原理分析和优化方案》:MultiDex 是Google 为了解决“65535 方法数超标”以及“INSTALL_FAILED_DEXOPT”问题而开发的一个Support 库。当一个Dex 文件太大的时候(方法数目太多、文件太大),在打包Apk 文件的时候就会出问题,就算打包的时候不出问题,在Android 5.0 以下设备上安装或运行Apk 也会出问题。既然一个Dex 文件不行的话,那就把这个硕大的Dex 文件拆分成若干个小的Dex 文件,刚好一个ClassLoader 可以有多个DexFile,这就是MultiDex 的基本设计思路。

  3. 《Qzone 视频下载如何做到多快好省? 》:Qzone 的日均视频播放量已经突破了10 亿,其中Android 端的播放量在总播放量中的占比超过70%,相比年初,播放量的增长了超过10 倍。视频下载是整个视频播放的基础,如果下载侧出问题,则会造成整个视频播放的失败,这就对视频下载提出了非常高的要求。本文详细介绍了Qzone 团队对于下载的优化技术方案。

  4. 《OpenSL ES 那些事》:OpenSL ES 是一种针对嵌入式系统特别优化过的硬件音频加速API,无授权费并且可以跨平台使用。它提供的高性能、标准化、低延迟的特性实现为嵌入式媒体开发提供了标准,嵌入式开发者在开发本地音频应用也将变得更为简便,利用该API 能够实现软/ 硬件音频性能的直接跨平台部署,降低了执行难度,促进高级音频市场的发展。本文主要对JNI 层的声音采集,传输以及播放过程做了相应介绍。

  5. 《Google 开发者大会给我们带来了什么》:近日Google 开发者大会在北京召开,这次大会有超过2000 开发者参加,Google 大中华区总裁Scott Beaumont、Google 全球开发者产品总监Ben Galbraith 做了主题演讲,之后InfoQ 的同事参加了对他们的采访,问了一些大家关心的问题,这里给大家带来最新信息。

  6. 《微信终端跨平台组件mars 系列(二) - 信令传输超时设计》:mars 是微信官方使用C++ 编写的业务性无关、平台性无关的终端基础组件,目前在微信Android、iOS、Windows、Mac、Windows Phone 等多个平台中使用,并正在筹备开源。本文是微信团队介绍mars 的第二篇文章。

  7. 《Android 拍摄(横\竖屏)视频的懒人之路》:MediaRecorder 一般用在多媒体录制上面,如果你只是简单的想录制音频,用它最合适不过。实现录制的过程还算简单,SurfaceView 用于承载画面,初始化相机Camera、重力旋转、摄像头等就可以完成录制。本文详细介绍了自定义视频录制过程,并且作者提供了具体的实现代码。

开源项目

  1. ZoomHeader :模仿饿了么详情页的效果,实现了跟随手指移动 viewpager 变详情页的效果。

  2. MyOkHttp :MyOkHttp 是对 Okhttp3 进行二次封装, 对外提供了 POST 请求、GET 请求、PATCH 请求、PUT 请求、DELETE 请求、上传文件、下载文件、取消请求、Raw/Json/Gson 返回、后台下载管理等功能,这里是作者对该项目的详细介绍。

  3. WaveLoading :这是一款水波纹效果的加载动画,支持自定义速度、长度等。


感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论