Android 开发周报:国内安卓份额飙升至 86.4%、SDK 无埋点技术解析

  • 郭亮

2017 年 4 月 20 日

话题:Android语言 & 开发架构

  • 《Android 无埋点数据收集 SDK 关键技术》:鉴于日益强烈的精细化运营需求,网易乐得从去年开始构建大数据平台,无埋点数据收集 SDK 因此立项,用于向大数据平台提供全量,完整,准确的客户端数据。无埋点数据收集 SDK Android 端从着手,到经历重构,逐步完善到现在已经有快一年的时间了。期间从开源社区以及同行中得到了一些很有意义的技术参考,因此在这个 SDK 趋于完善的今天,我们也考虑将这一路在技术上的探索经历和收获分享出来。

  • 《Android 辅助功能 (一)-AccessibilityEvent 的分发》:目前关于辅助功能的使用的文章很多,但鲜有分析其具体实现的,本文基于 Andoird 7.1.0_r7 源码分析一下辅助事件是怎么分发的,只涉及事件的分发和辅助 App 的接收,之后有机会再讲一讲获取 AccessibilityNodeInfo、进行操作等等的源码流程。

  • 《Android OOM 案例分析》:在 Android(Java)开发中,基本都会遇到 java.lang.OutOfMemoryError(本文简称 OOM),这种错误解决起来相对于一般的 Exception 或者 Error 都要难一些,主要是由于错误产生的 root cause 不是很显而易见。由于没有办法能够直接拿到用户的内存 dump 文件,如果错误发生在线上的版本,分析起来就会更加困难。本文从一个具体的案例切入,介绍 OOM 分析的思路及相关工具的使用。

  • 《Android GC 原理探究》:想写一篇关于 Android GC 的想法来源于追查一个魅族手机图片滑动卡顿问题,由于不断的 GC 导致的丢帧卡顿的问题让我们想了很多方案去解决,所以就打算详细的看看内存分配和 GC 的原理,为什么会不断的 GC,GC ALLOC 和 GC COCURRENT 有什么区别,能不能想办法扩大堆内存减少 GC 的频次等等。

  • 《有效减少 Android 应用的方法数》:65k 限制确实是个令人不爽的事情,本文会让你知道是哪些库用了大量的方法,并该怎么减少这些库的方法数。现在的应用越来越大,方法数经常达到 65k 限制。本文主要介绍了如何可视化 library 方法数和减少方法数的方法。

  • 《React Native 性能之谜》:在 PhoneGap、RubyMotion、Xamarin、Ionic 一众跨平台开发工具中,React Native 能够杀出一条血路,获得目前这么大的影响力,除了 React 社区生态圈的加持和 Facebook 的大力推广以外,另外一个最主要的原因就是其在开发效率和应用性能方面取得了一个比较好的平衡。不过,虽说框架提供了这个平衡能力,平衡点的选择却掌握在开发者手中,本文将从 React Native 的性能角度分析了如何掌握这个平衡点。

  • 《Android 新一代多渠道打包神器》:众所周知,因为国内 Android 应用分发市场的现状,我们在发布 APP 时,一般需要生成多个渠道包,上传到不同的应用市场。这些渠道包需要包含不同的渠道信息,在 APP 和后台交互或者数据上报时,会带上各自的渠道信息。这样,我们就能统计到每个分发市场的下载数、用户数等关键数据。本文详细介绍了 ApkChannelPackage 打包神器的实现原理。

  • 《RemoteViews 详细解释》:RemoteViews 表示的是一个 view 结构,它可以在其他进程中显示。由于它在其他进程中显示,为了能够更新它的界面,RemoteViews 提供了一组基础的操作用于跨进程更新它的界面。RemoteViews 主要用于通知栏通知和桌面小部件的开发,通知栏通知是通过 NotificationManager 的 notify 方法来实现的;桌面小部件是通过 AppWidgetProvider 来实现的,它本质上是一个广播 (BroadcastReceiver)。这两者的界面都是运行在 SystemServer 进程中(跨进程)。本文详细介绍了 RemoteViews 的工作原理。

  • Android语言 & 开发架构