BT

Android开发周报:阿里动态组件化框架Atlas开源、Android Studio2.3解析

| 作者 郭亮 发布于 2017年3月17日. 估计阅读时间: 不到一分钟 | 道AI风控、Serverless架构、EB级存储引擎,尽在ArchSummit!

新闻

  1. 《安卓7.1.2正式版发布时间曝光:4月3日》:谷歌今年的I/O开发者大会将于太平洋时间5月17日~19日在加州山景城Shoreline Amphitheatre露天剧场举行,届时全新的Android 8.0操作系统就会亮相,但在此之前谷歌还会推送安卓7.1.2系统。

  2. 《谷歌公布最新安卓版本分布:7.0/7.1已达2.8%》:谷歌目前公布了2017年3月份的安卓系统各版本最新分布情况统计,数据显示目前Android Nougat(7.0+7.1)的份额已经达到2.8%,目前占比最多的仍然是Android Lollipop(32.5%),眼看最新的安卓8.0系统再过几个月就要问世了,目前安卓阵营的碎片化仍然不容乐观。

教程

  1. 《Android自定义Lint实践2——改进原生Detector》:本文来自美团的技术博客。Android Lint是Google提供给Android开发者的静态代码检查工具。使用Lint对Android工程代码进行扫描和检查,可以发现代码潜在的问题,提醒程序员及早修正。为保证代码质量,美团在开发流程中加入了代码检查,如果代码检测到问题,则无法合并到正式分支中,这些检查中就包括Lint。本文介绍了美团App如何使用自定义Lint进行代码检查。

  2. 《Android Studio2.3正式版发布,官方全解析》:Android Studio 2.3中最令人激动的是质量上的改进,但此版本也加入了一些新功能:设计应用时,增加利用面向应用图像的更新版WebP支持;内容库支持以及布局编辑器中的小部件选项板;在开发过程中,Android Studio新增了一个应用链接助手,它可以帮助您构建一个应用URI合并视图,在构建和部署应用时,使用更新版运行按钮可获得更加直观而又可靠的Instant Run体验等。

  3. 《手机QQ Hybrid的架构演进》:现在主流的hybrid还是H5 + native。H5在native中很明显的问题大家都看得到,比如打开应用的时候要等很久的页面loading。还有一点是每次打开H5都涉及到网络交互、文件下载,这些操作会消耗用户的流量,如果流量消耗大用户也会不高兴。本文给大家分享的内容主要是介绍QQ会员团队如何在页面打开时间以及用户流量方面所做的优化,分别对应sonic和reshape的两个自主技术框架。

  4. 《React Native for Android异常处理概览》:研究RN框架异常的动机在于,需要建立起一套针对性的容错机制,毕竟它还是一个不够成熟的框架。期望能够做到的效果就是,对于每一个RN页面的启动,能够在进入页面至退出页面期间侦测所有发生的RN相关的崩溃,然后根据崩溃来考虑该页面是否该有降级策略、判断框架是否真的能够支持稳定迭代。本文从启动期和运行期两方面介绍了RN的异常方案。

  5. 《Android Drawable完全解析(一):Drawable源码分析系列》:Android开发中,Drawable几乎无处不在,Drawable涉及的面很广,尤其是竟然有那么多的继承类。我们常用的有ColorDrawable、StateListDrawable、BitmapDrawable等很有限的几个子类,大多数开发者对于Drawable的应用还是太零散了。因此作者写了关于Drawable的系列文章,从源码的角度详细分析了Drawable的实现。

  6. 《Android中一个简单有用的发现性能问题的方法》:在Android中,性能优化是我们持之不懈的工作。这其中,在主线程执行耗时的任务,可能会导致界面卡顿,甚至是ANR(程序未响应)。当然Android提供了很多优秀的工具,比如StrictMode,Method Tracing等,便于我们检测问题。本文介绍了一个更加简单有效的方法。相比StrictMode来说更加便于发现问题,相比Method Tracing来说更加容易操作。

  7. 《Android技巧-Debug判断不再用BuildConfig》:Android开发中一般会通过BuildConfig.DEBUG判断是否是Debug模式,从而做一些在Debug模式才开启的特殊操作,比如打印日志。这样好处是不用在发布前去主动修改,因为这个值在Debug模式下为true,Release模式下为false。本文介绍如何不设置BuildConfig的Debug技巧。

  8. 《Atlas-手淘组件化框架的前世今生和未来的路》:在手机淘宝,Atlas是一个扎根于Android客户端的一个组件化容器框架,相比神话中用手和头支撑起苍天的泰坦神族,Atlas在手淘默默无闻地承载着手淘上丰富业务的运行,伴随着数不清的功能在用户手中经历新老交替。本文详细介绍了Atlas的前世今生。

开源项目

  1. atlas:Atlas是伴随着手机淘宝的不断发展而衍生出来的一个运行于Android系统上的一个容器化框架,也叫动态组件化(Dynamic Bundle)框架。它主要提供了解耦化、组件化、动态性的支持。覆盖了工程师的工程编码期、Apk运行期以及后续运维期的各种问题。

  2. DiscreteScrollView:这是一个可横向滚动的ScrollView,支持当前item自动居中。

  3. Depth:非常炫的页面转换3D效果,可以用于浏览器多页面切换。

  4. SmileyRating:这是一个表情自动变化的评价组件。

  5. vlayout:VirtualLayout是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件复用的问题。


感谢徐川对本文的审校。

给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