Android 开发周报:Android 份额继续增长、进程知识详细解读

  • 郭亮

2016 年 6 月 21 日

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

  • 《React Native 开发之 IDE 选型和配置》:React Native 发布一年多了,有不少公司已经在线上产品中进行实战,很多公司或开发者都在为 React Native 的生态系统作出自己的贡献。React Native 的开发基本上是 Javascript+系统原生开发语言(Java,Objective-C,Swift),原生语言的开发所用的 IDE 没有多余的选择,本文为我们就介绍了最常用的五款 IDE 的配置和选型。

  • 《安卓跨进程点击事件的解决方案》:本文作者在做 Android 自动化的时候,发现使用 instrument 自带的 Instrumention.sendPointerSync 向其他应用程序发送点击事件的时候,没有效果,而且报出错误:

    Permission denied,injecting event from pid XXX XXX uid to window XXX owned by uid XXX.

    简单翻译过来就是:从一个应用程序向另外一个应用程序发送事件,因为两个程序的 uid 不一致,导致权限不够。这就涉及到了跨进程通信的知识,阅读文章,了解作者是如何解决该问题的。

  • 《从 linux 到 android,进程的方方面面》:默认情况下,Android 为每个应用程序创建一个单独的进程,所有组件运行在该进程中,这个默认进程的名字通常与该应用程序的包名相同。Android 是基于 Linux 的,那么 Android 的进程与 Linux 的有什么特殊的地方?本文为我们做了详细解读。阅读文章,了解更多关于进程的知识。

  • 《debuggerd 源码篇》:Android 系统有监控程序异常退出的机制,这便是本文要讲述得 debuggerd 守护进程。当发生 native crash 或者主动调用 debuggerd 时,会输出进程相关的状态信息到文件或者控制台。输出的 debuggerd 数据 保存在文件 /data/tombstones/tombstone_XX,该类型文件个数上限位 10 个,当超过时则每次覆盖时间最老的文件。针对进程出现的不同的状态,Linux kernel 会发送相应的 signal 给异常进程,捕获 signal 并对其做相应的处理(通常动作是退出异常进程)。而 Android 在这机制的前提下,通过拦截这些信号来 dump 进程信息,方便开发人员调试分析。本文源码角度探索了 debuggerd 客户端和服务端的工作原理。

  • 《Path 之玩出花样(PathMeasure)》:Path 是封装了由直线和曲线 (二次,三次贝塞尔曲线) 构成的几何路径。你能用 Canvas 中的 drawPath 来把这条路径画出来 (同样支持 Paint 的不同绘制模式),也可以用于剪裁画布和根据路径绘制文字。我们有时会用 Path 来描述一个图像的轮廓,所以也会称为轮廓线。本文为我们详细讲解了 Path 的具体使用方法。

  • 《React Native 触摸事件处理详解》:触控是移动设备的核心功能,也是移动应用交互的基础,Android 和 iOS 各自都有完善的触摸事件处理机制。React Native 提供了一套统一的处理方式,能够方便的处理界面中组件的触摸事件、用户手势等。本文介绍了 RN 中触摸事件的处理原理。

  • 《android 图片印刻,阳刻,素描图效果处理》:作者讲解了妙趣剪纸 app 使用的图片处理相关的技术,本文有助于我们了解图片处理相关的知识。

  • 《58 同城高性能移动 Push 推送平台架构演进之路》:本文详细讲述了 58 同城高性能移动 Push 推送平台架构演进的三个阶段,并介绍了什么是移动 Push 推送,为什么需要,原理和方案对比;移动 Push 推送第一阶段(单平台)架构如何设计;移动 Push 推送典型性能问题分析解决,以及高可用、高性能、高稳定性如何保证。

  • 移动Android语言 & 开发架构