Android 开发周报:Android 7.0 最后一个预览版开放、锁屏技术浅谈

  • 郭亮

2016 年 7 月 19 日

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

新闻

  1. 《Android 7.0 最后一版预览开放下载》:谷歌官方释出了第五版 Android 7.0 Nougat Developer Preview,这将是正式版前最后一版预览。本版支持 General Mobile 4G、Pixel C、Nexus 5X、Nexus 6、Nexus 6P、Nexus 9、Nexus Player 等谷歌直系设备。新的 Android N 开发者预览版包含了最新的 API(level 24)和模拟器,开发者依然可以做应用兼容测试准备。

  2. 《诺基亚两款 Android 7.0 新机双双曝光》:最新的消息称,诺基亚准备的两款安卓手机预计最快年底前发布,其完全由富士康设计和生产,定位高端,区别是一大一小。这两款诺基亚新机一个配备了 5.2 寸屏,而另外一个是 5.5 寸屏,都将支持 2K 分辨率和采用 AMOLED 面板,并运行 Android N 系列(内置诺基亚自己的 Z-Launcher UI)。

  3. 《谷歌官方报告:安卓 6.0 份额已占 13.3%,棒棒糖仍居榜首》:近日谷歌发布了最新的安卓各版本系统份额报告,Android 6.0 系统继续保持了上升的态势,然而份额最大的仍为安卓 5.x 棒棒糖操作系统。

教程

  1. 《浅谈 Android 自定义锁屏页的发车姿势》:要实现一个自定义锁屏是一件繁琐的事情,因为系统有 100 种方法让这个非本地的锁屏待不下去。但是,人类的智慧是无限的,程序员需要逆流而上。Android 系统实现自定义锁屏页的思路很简单,即在 App 启动时开启一个 service,在 Service 中时刻监听系统 SCREEN_OFF 的广播,当屏幕熄灭时,Service 监听到广播,开启一个锁屏页 Activity 在屏幕最上层显示,该 Activity 创建的同时会去掉系统锁屏。本文给出了自定义锁屏的具体实现。
  2. 《拆轮子系列:拆 OkHttp》:安卓开发领域,很多重要的问题都有了很好的开源解决方案,例如网络请求 OkHttp + Retrofit 简直就是不二之选。本文从使用方法出发,到功能的内部实现,以及实现方案上的技巧、范式出发,为我们详细解读了 OKHttp。全文基本上是对 OkHttp 源码的一个分析与导读,建议大家下载 OkHttp 源码之后,跟着本文,过一遍源码。
  3. 《深入浅出 RecyclerView》:RecyclerView 与 ListView、GridView 类似,都是可以显示同一种类型 View 的集合的控件。我们可以把 RecyclerView 理解为 ListView、GridView 的升级版或优化版。本文分三部分为大家讲解了 RecyclerView 的使用用法、工作原理、与 ListView 的比较以及源码解析。
  4. 《FaceBook 出品:基于 Android 的内存优化》:作者通过自动化工具来测试不同场景和设备上运行的性能,以此衡量出代码在运行时的内存使用率,帧率等。当使用其中一个工具,TraceView,测试发现对 Long.valueOf() 有频发的调用,使内存中堆积的对象过多,导致崩溃。这篇文章描述了如何解决这个问题,并且提供了相关的源码。

  5. 《HermesEventBus- 饿了么开源的 Android 跨进程事件分发框架》:由于 Android 不同进程之前不能相互通信,所以当开发过程中遇到跨进程通信的时候, 常用的方案就是 AIDL(Android Interface Definition Language) 通过它我们可以定义进程间的通信接口, 但是当应用中出现大量跨进程通信的时候,比如你想体验一下插件化开发或者特殊需求在单应用中需要开多个进程,那么写过 AIDL 的同学都会有痛不欲生的感觉。HermesEventBus就是为了解决此问题而生,本文详细讲解了该框架的用法及原理。

  6. 《Android 中的事件分发和处理》:本文是一篇关于 View 的事件分发及处理的文章。作为一名初级应用层 Android 工程师,打交道最多的莫过于各种各样的 View,只有详细了解他们各自的习性,才能更好地跟他们沟通交流,做出自己想要的效果。本文为我们详细解读了 View 的相关知识,是我们学习 View 的优质教程。

  7. 《Android 进阶之 ProGuard 代码混淆》:Proguard 工具通过移除无用的代码以及使用语义隐晦的名称来重命名类、字段和方法,从而达到压缩、优化和混淆代码的目的。最终您将获得一个较小的 .apk 文件,此文件更难于进行反向工程。本文介绍如何启用和配置 ProGuard,以及如何使用 retrace 工具解码混淆后的堆栈跟踪信息。

  8. 《浅谈安卓开发代码混淆技术》:随着移动互联网的快速发展,应用的安全问题不断涌现出来,于是越来越多的应用开发者将核心代码由 java 层转到 native 层,以对抗成熟的 java 逆向分析工具,然而如果 native 层的代码如果没有进行任何保护,还是比较容易被逆向分析工作者获取其运行逻辑,进而完成应用破解或者进行其他的操作。所以我们会选择将代码混淆。本文为我们介绍了混淆技术相关的知识。

开源项目

  1. StereoView:这是一个 Android 3D 立体无限旋转滚动容器项目,实现的 3D 效果使用场景很多,推荐大家收藏。

  2. GiftCard:这是一个效果很棒的礼物卡效果,动画效果很赞,适合于卡券类页面的显示。

  3. AndroidChromium:谷歌浏览器安卓版源码项目,本项目是世界级的安卓架构,理清本项目业务逻辑完全可以胜任国内一线公司工程师。


感谢徐川对本文的审校。

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

移动Android语言 & 开发架构