Android 开发周报:打包提速实践、存储系统解析

  • 郭亮

2016 年 7 月 26 日

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

  • 《Google I/O 2016 笔记之 Espresso 进阶》:Espresso 是 Google 官方提供的一个易于测试 Android UI 的开源框架,于 2013 年 10 月推出它的 released 版本,目前最新版本已更新到 2.x . 并且在 Android Studio 2.2 预览版中已经默认集成该测试库。本文详细介绍了 Espresso 的使用方法。

  • 《PathMeasure 之迷径追踪》:Path 不论是在自定义 View 还是动画,都占有举足轻重的地位。绘制 Path,可以通过 Android 提供的 API,或者是贝塞尔曲线、数学函数、图形组合等等方式,而要获取 Path 上每一个构成点的坐标,一般需要知道 Path 的函数方法,但对于一般的 Path 来说,是很难通过简单的函数方法来进行计算的。Android SDK 提供了一个非常有用的 API 来帮助开发者实现这样一个 Path 路径点的坐标追踪,这个类就是 PathMeasure。本文为我们详解了 PathMeasure 的相关知识。

  • 《自动抢红包,自动安装原理之 AccessibilityService》:AccessibilityService 是 Android 系统提供的辅助功能,目的是辅助人们去使用 Android 设备和应用。它在后台运行,可以接收系统的回调。但聪明的开发者将 AccessibilityService 应用到了多个场景中,比如自动化测试、自动抢红包、自动安装等等。文章结合实例,详细解读了 AccessibilityService 的使用方法。

  • 《Android Activity 生命周期是如何实现的》:本文是作者关于 Android 系统学习系列文章中的第三章节的内容,在这篇文章里,作者详细说明了 Activity 生命周期的实现原理,onCreate、onResume、onPause 等主要生命周期回调是如何实现的,ActivityManangerService 在里面扮演的角色。

  • 《带你学开源项目:OkHttp——自己动手实现 okhttp》:在 Android、Java 开发领域中,相信大家都听过或者在使用 Square 家大名鼎鼎的网络请求库——OkHttp,当前多数著名的开源项目如 Fresco、Glide、Picasso、Retrofit 都在使用 OkHttp。在分析 okhttp 源码之前,你是否想过,如果我们自己来设计一个网络请求库,这个库应该长什么样子?大致是什么结构呢?本文的目的就是和大家一起来构建一个网络请求库,并在其中融入 okhttp 中核心的设计思想,希望借此让读者感受并学习到 okhttp 中的精华之处,而非仅限于了解其实现。

  • 《Android 存储系统之源码篇》:本文主要介绍跟存储相关的模块 MountService 和 Vold 的整体流程与架构设计。MountService:Android Binder 服务,运行在 system_server 进程,用于跟 Vold 进行消息通信,比如 MountService 向 Vold 发送挂载 SD 卡的命令, 或者接收到来自 Vold 的外设热插拔事件。Vold: 全称为 Volume Daemon,用于管理外部存储设备的 Native 守护进程,这是一个非常重要的守护进程,由 NetlinkManager,VolumeManager,CommandListener 这 3 部分组成。阅读文章,了解详细信息。

  • 《Android 打包提速实践》:Apk 打包是 Android 开发者们几乎每天都会做的事情。由于业务不断发展,Apk 也变的越来越大,打包时间也变的越来越长。本文作者结合实践经验,提出了 debug 包和 release 包的打包提速的方案。阅读文章,看看作者是如何实现打包提速的。

  • Android 端应用秒开优化体验:作者近日遇到一个问题:应用启动很慢、卡图标。主要表现在中低端机型中。为了解决这个问题,文章作者借了个低端机和一个中端机来一看究竟,对同一应用分别测了下它在中低端机的启动时间,找到了启动慢、卡的原因所在,并且给出了解决方案。阅读文章,了解作者的启动速度优化方案。

  • 移动Android语言 & 开发架构