BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Android开发周报:CM 7.1体验版发布、Buck构建工程实战

| 作者 郭亮 关注 18 他的粉丝 发布于 2016年12月1日. 估计阅读时间: 7 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

新闻

  1. 《安卓7.1 CM 14.1正式发布:速度比Google快》:一般过个两三年,即便再高端的设备也会被厂商抛弃,不再更新系统,但幸好我们还有各种第三方ROM,尤其是大名鼎鼎的CyanogenMod,虽然历经坎坷但依然总能第一时间给老设备带来最新鲜的体验。

  2. 《安卓7.1开发者预览版Beta2放出:更接近完全体》:11月23日消息,谷歌刚刚推出了安卓7.1第二个开发者预览版,这也将是安卓7.1最后一个预览版,之后谷歌会推出安卓7.1.1正式版。安卓7.1开发者预览版支持Nexus5X、Nexus6P、Nexus9和Pixel C,据谷歌表示,安卓7.1开发者预览版2在系统稳定性和UI方面接近“完全体”,也就是接近最终版、正式版。

  3. 《部分Nexus设备获Android 7.1更新》:对于老款的Nexus机型,谷歌表示将在12月5日推送Android 7.1.1正式版的更新,本次推送的机型包括Nexus 6P,5X和Pixel C。本次更新内容以安全修复为主,并新增了一些新的表情,以及支持添加应用程序快捷方式等。值得一提的是,这次推送后,Pixel和Pixel XL将获得全新“双击点亮屏幕”和“拿起点亮屏幕”的功能。

教程

  1. 《Redex初探与Interdex:Andorid冷启动优化》:早在去年10月份,facebook就发布了介绍redex的文章,这个据说可以直接对apk做处理,既提高启动性能,又可减少安装包的利器让安卓开发者们都心动不已。直到今年4月,redex终于开源了,作者第一时间对redex做了研究。虽然由于坑多,最终没有接入到项目构建中,但受Interdex启发,在应用冷启动速度优化方面有了新的收获。

  2. 《Kotlin如何成为我们Android开发的主要语言》:Kotlin是一个基于JVM的新的编程语言,由JetBrains开发。JetBrains,作为目前广受欢迎的Java IDE IntelliJ的提供商,在Apache许可下已经开源其Kotlin编程语言。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。

  3. 《使用Buck构建Android工程》:Buck构建工具,其实早已不是什么新奇的事物,它是一款由Facebook开发、维护并开源的性能强大的构建工具。不仅在Facebook的全系列产品中广泛应用,而且在国内的微信团队也有使用。其构建的目标代码相当广泛,且对Android工程有所优化,核心思想是多任务并发的构建策略,充分发挥多核优势,Buck可以极大的加快Android工程全量构建的速度,是目前Android全量构建策略中的不二选择。

  4. 《微信Mars:客户端跨平台组件的开发经验》:Mars是微信官方的终端基础组件,是一个使用C++编写的业务性无关,平台性无关的基础组件。目前已接入微信 Android、iOS、Mac、Windows、WP等客户端。现正在筹备开源中。本文详细介绍了微信Mars跨平台组件开发经验。

  5. 《如何构建Android MVVM应用框架》:说到Android MVVM,相信大家都会想到Google 2015年推出的DataBinding框架。然而两者的概念是不一样的,不能混为一谈。MVVM是一种架构模式,而DataBinding是一个实现数据和UI绑定的框架,是构建MVVM模式的一个工具。那么在Android中是如何通过DataBinding去构建MVVM的应用框架的?View、ViewModel、Model每一层的职责如何?它们之间联系怎样、分工如何、代码应该如何设计?本文给出了答案。

  6. 《酷狗Android App插件化实施过程》:很多大型的项目实现插件化,在这个调整的过程中对代码结构,调用逻辑等等的修改肯定是有迁移成本的。怎么保证这个改动最少,酷狗团队从打包脚本上下手在保证传统的项目结构和逻辑调用不改变的情况下实现模块插件化。让插件化先跑起来,在实现之后再让各个业务小组针对插件化的建议慢慢的完善和封装插件和宿主之间的协议和约定。本文详细介绍了酷狗Android客户端的插件化之路。

  7. 《Writing-Better-Adapters 译文及示例》:对于Android开发者来说,实现Adapter是最频繁的工作之一。Adapter是所有列表的基本,而列表也是很多App的基本组成。编写一个列表控件的方法大多数时间都是一样的:用一个绑定了Adapter的View来展示数据。然而一直这样会让我们对自己编写的代码变得盲目或者说我们一直在重复创造低级代码。阅读文章,看看作者是如何提高Adapter代码质量的。

  8. 《Android开发命令行完全攻略》:命令行几乎是每一个开发者都会使用到的工具,很多是开发者甚至是命令行控,恨不得所有操作都能通过命令行来完成。除了显得很酷之外,命令行的使用能够提高我们的开发效率,因为相比通过鼠标点击一系列的菜单选项,使用键盘输入几个字符并点击TAB健显然会快很多。那么Android开发可以用命令行搞定吗?本文给出了很好的解决方案。

开源项目

  1. update:一款清晰灵活简单易用的Android应用更新库。

  2. blurkit-android:这是一款使用简单的模糊工具,可以通过XML来配置。

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


感谢徐川对本文的审校。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT