Android 开发周报:Android 手机市场占比创新高、掌阅 App 插件补丁实践

  • 郭亮

2016 年 8 月 23 日

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

  • 《猎豹"快切 App"中用到的 Android 开发技巧探索(附源码)》:快切是从猎豹的 Clear Master 中分离出来的一个悬浮窗小工具。因为对这个比较感兴趣,博主断断续续花了 2 个月时间完成了一个类似块切的版本,起了个名字叫“Well Swipe”,中文名叫“Well 划划”。本文详细介绍了该项目开发中遇到的一些坑和技巧,同时给大家揭密了块切开发过程中用到的自定义控件技术细节。

  • 《浅析 Android 打包流程》:打包是 Android 开发同学几乎每天都会进行的事情,但让我们具体讲讲打包的流程,大部分同学并没有比较清晰完整的概念。更好的了解 Android 的打包流程,有助于做一些针对编译期的优化,提高 Android 应用的 hack 难度增加安全性,减少 Android 安装包的体积,完成一些自动化的编码减少编码压力等。本文为我们详细解读了 Android 的打包流程,同时介绍了与 Android 打包相关的开源技术。

  • 《【RxJava && Agera】从源码简要分析基本调用流程》:在 Android 开发的圈子里,RxJava 渐渐开始广为流行。有很多同学已经开始在自己的项目中使用 RxJava。RxJava 能够帮助我们在处理异步事件时能够省去那些复杂而繁琐的代码,尤其是当某些场景逻辑中回调中嵌入回调时,使用 RxJava 依旧能够让我们的代码保持极高的可读性与简洁性。不仅如此,这种基于异步数据流概念的编程模式事实上同样也能广泛运用在移动端这种包括网络调用、用户触摸输入和系统弹框等在内的多种响应驱动的场景。本文是一篇分析 RxJava 响应流程的文章,有助于我们了解 RxJava 的工作原理。

  • 《Android 进程保活招式大全》:Android 系统将尽量长时间地保持应用进程,但为了新建进程或运行更重要的进程,最终需要清除旧进程来回收内存。 为了确定保留或终止哪些进程,系统会根据进程中正在运行的组件以及这些组件的状态,将每个进程放入“重要性层次结构”中。必要时,系统会首先消除重要性最低的进程,然后是清除重要性稍低一级的进程。目前市面上的应用,貌似除了微信和手 Q 都会比较担心被用户或者系统(厂商)杀死问题。Android 进程拉活包括两个层面:一个是提供进程优先级,降低进程被杀死的概率,另一个是在进程被杀死后,进行拉活。本文从这两方面为我们详细讲解了如何进行保活操作。

  • 《ZeusPlugin:掌阅 Android App 插件补丁实践》:插件化和补丁在目前看来是老生常谈的东西了,市面上已经有一堆实现方案,如 DroidPlugin、Small、Android-Plugin-Framework。掌阅研究插件化是从 2014 年中开始。直至目前,插件化方案已经达到相对成熟的阶段,而补丁方案也已经上线。相对其他插件化和热修复方案,ZeusPlugin 最大特点是:简单易懂,核心类只有 6 个,类总数只有 13 个。阅读文章,了解更多关于 ZeusPlugin 的细节。

  • 《Android App 国际化》:internationalization (国际化) 简称 i18n,因为在 i 和 n 之间还有 18 个字符,localization(本地化),简称 L10n。一般用语言 _ 地区的形式表示一种语言,如 zh_CN 表示简体中文。Android 对 i18n 和 L10n 提供了非常好的支持。Android 没有专门的 API 来提供国际化,而是通过对不同 resource 的命名来达到国际化的目的,同时这种命名方法还可用于对硬件的区分,如不同的屏幕分辨率用不同的图片。values 表示默认的资源文件夹,即当 Resource 找不到匹配的资源时,会使用 values 文件夹下的资源。本文主要介绍了 Android App 国际化过程中遇到的问题和解决方案。

  • 《Android 卡顿性能监测方案对比》:作者近期在研究关于 Android 卡顿性能监控,分别验证了两种相对有效的监测方案:Looper 字符串匹配方案与 Choreographer 帧率检测方案。这两种方案都可以监控到应用的卡顿现象,但两种方案的适用场景却不太一样,第一种匹配字符串方案能够准确得在发生卡顿时拿到堆栈信息,但有一定的性能损耗,不适用于线上监控;第二种监测帧率的方案不一定能准确堆栈,可能会拿到无关的系统堆栈,对定位问题没有太大帮助,但能够计算出掉帧率。文章详细介绍了这两种方案的实现原理和监控效果。

  • 《Android 最新 Support V4 包大拆分有用吗?》:近日 Google 更新的 Support Library 版本,其中最为显眼的功能莫过于 support-v4 的大拆分,然而这个拆分现在看来并没有那么美好。v4 包从 2011 年开始引入,包含 ViewPager、FragmentActivity 等我们常用的功能,目前已经达到 1.3M,Google 此次升级将这个库拆分为 5 个子的 Module,每个 Module 可以被单独引用。阅读文章,了解更多最新 Support V4 的细节知识。

  • 移动Android语言 & 开发架构