Android 开发周报:F8 App 开发指南、Android 性能优化解析

  • 郭亮

2016 年 5 月 4 日

话题:移动Android语言 & 开发架构

新闻

  1. 《原生 Android 键盘迎来大更新,单手输入、新设计统统都有》:如果你正用着 Nexus 设备或 Android 中自带的谷歌输入法,那么这里有个好消息要告诉你。在最新版本中,Google 为我们带来了全新的单手模式,以及大量其它改进。如需启用单手模式,请前往键盘设置、或长按逗号并右滑。此外,如果你厌倦了恼人的词条建议,现在也可以通过长按把不想要的词组给丢出去了。
  2. 《谷歌低调推进 Android Auto 已有百款车型支持》:Android Auto 是一款谷歌为汽车开发的操作系统,用户需要用 5.0 版本以上的 Android 系统智能手机连接到 Android Auto 平台,激活内置的车载娱乐系统。在过去的一年里,Android Auto 已经有了很大程度的发展,许多汽车厂商都计划为自己的产品增加这一系统,并且支持的车型也在逐渐增加。
  3. 《Android 新型病毒软件曝光可盗取多种信息》:Android 平台上又出现了一种新型恶意软件,该软件伪装成 Chrome 浏览器更新,并被挂在一个类似 Google 或 Android 登陆页面的钓鱼页面上,用户稍不注意就会中招。

教程

  1. 《构建 F8 App/React Native 开发指南》:在今年的 F8 大会上,Facebook 开源了使用 React Native 编写的 F8 App,并且给出了一系列教程来说明完成该 App 的整个过程。国内的开发者已经将该英文指南进行了翻译,F8 App 是来自 Facebook 官方的 App,这应该是我们学习 React Native 最好的教程,欢迎大家阅读。这里是另外一篇介绍 F8 App 的文章。
  2. 《Android 性能优化典范 - 第 5 季》:这是 Android 性能优化典范第 5 季,文章共 10 个段落,涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇了解 Android 多线程编程不可多得的基础文章,清楚的了解这些 Android 系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择。
  3. 《蘑菇街支付金融 Android 单元测试实践》:在安卓上面写测试,有很多技术方案。有 JUnit、Instrumentation test、Espresso、UiAutomator 等等,还有第三方的 Appium、Robotium、Calabash 等等。但很多方案在 Android 上使用效率很差,本文来自蘑菇街的同学,介绍了蘑菇街支付金融 Android 单元测试的一些实践,对于我们学习单元测试很有帮助。
  4. 《关于 Android N 那些你不知道的事儿》:今年 3 月,Google 破天荒提前半年发布了 Android N 开发者预览版。实际上,从 Android L 开始,Google 就已经开始反省自己过分开放的策略。原本后台任务满天飞的系统,现在渐渐地被控制得有序起来。比如 Android L 发布的 JobScheduler,Android M 发布的 Doze 模式和 APP Standby,Android N 的 Doze 加强以及瘦身计划,无一不是在限制系统的后台任务数量以及计算强度。本文分析了 Android N 的新特性,内容详细并且分析的全面到位。
  5. 《Android drawable 微技巧,你所不知道的 drawable 的那些细节》:drawable 这个东西相信大家天天都在使用,每个人都再熟悉不过了,但再熟悉不过的技术,可能也有一些你所不知道的细节,本文就带我们一起探究了这些微小的细节。
  6. 《SearchView 源码解析》:SearchView 是一个搜索框控件。搜索是一个使用频率非常高的功能,很多同学都是用 EditText 来自定义搜索功能,其实 Android 的 v7 包中的 SearchView 就是用来实现搜索框功能的,很多同学对这个组件并不了解。本文对 android.support.v7.widget 包下的 SearchView 进行了解析,有助于我们了解 SearchView 的特性。

开源项目

  1. Depth-LIB-Android-:这是一个非常酷炫的 Fragment 切换动画效果。这里是一篇介绍该动画实现过程的文章。
  2. StickyHeaderListView:这是国内开发者的一个开源项目,可基于实际需求做出的灵活可定制的 ListView,比如支持无限循环的广告位,高度可动态配置的 Header2 和 Header3(使用 GridView 实现),分类、排序和筛选布局滑动到顶部后吸附、悬停等等。
  3. PLDroidPlayer:PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单、快捷的接口,帮助开发者在 Android 平台上快速开发播放器应用。
  4. f8app:Fecebook 开源的 F8 大会 app,该 app 使用了 React Native 技术。

感谢徐川对本文的审校。

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

移动Android语言 & 开发架构