[关闭]
@Sniper 2016-12-14T06:30:50.000000Z 字数 2250 阅读 1217

Android开发周报:谷歌开发者大会在京召开、Android增量编译提速

Android周报 Android 移动


摘要:2016年谷歌开发者大会在北京国家会议中心举办。本次大会内容主要面向中国开发者,帮助他们的App走出中国,谷歌也希望通过应用开发和分发平台为中国Android开发者创收。本期周报为大家带来了增量编译详解、MultiDex工作原理、OpenSL ES等方面的技术干货,欢迎阅读。

新闻

  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:这是一款水波纹效果的加载动画,支持自定义速度、长度等。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注