0%

不知读者在平时的 Android 或 Java 开发中,对于 Class 如何加载至虚拟机中并执行,存在过多多少少的好奇吗?

或许你和笔者一样,读过好几本有关 JVM 的书籍,又或看过好几篇讲解 Class 加载的博文,但总感觉脱离源码的理论学习未免太过晦涩难懂。

故本文就从 Android Native 源码的角度,简略阅读分析下 Class 加载的部分关键流程代码实现,希望读者和我都能够从此次分析中有所收获。

阅读全文 »

xCrash 是爱奇艺最近开源在 Github 的 Crash 捕获工具(https://github.com/iqiyi/xCrash);

xCrash 是一个安卓 APP 的崩溃捕获库,它支持捕获 Native 崩溃和 Java 异常;

xCrash 能在 App 进程崩溃时,在你指定的目录中生成一个 tombstone 文件(格式与安卓系统的 tombstone 文件类似),并且,不需要 root 权限或任何系统权限;

本文将通过 Github 开源的代码,对其简要分析,它是如何实现如此强大的功能的。

阅读全文 »

Flutter 是一个基于 Dart 的移动开发平台,旨在帮助开发者在 iOS 和 Android 两个平台上开发高质量的跨平台应用,并在去年12 月的 Flutter Live 2018 大会上正式发布 1.0 正式版。

最近我也对 Flutter 进行了一个初步的了解和实践,过程中踩了许多坑,查了许多资料,使得自己对 Flutter 有了更进一步的理解和思考。

在本文中,我将分享自己在 Flutter 实践中的那些心路历程,主要涉及 Flutter 和 Native 混合工程开发的一些理解,希望能对大家有所帮助。

阅读全文 »

去年因学业较为繁重,读的书较少。今 2018 年时间上较为宽裕,读了些有趣的书籍,在此文作一个书单记录,同时将书单分享给大家,万一就有大家感兴趣的书籍呢。[手动滑稽]

阅读全文 »

在开发中经常用到 DataBinding, 但自己对这一块的了解仅限于用法, 并未深入探究其内部工作原理, 导致踩了许多坑。便花时间研究了下 DataBinding 中核心的源码, 并撰写此文, 以帮助后来的读者能够通过本文快速了解 DataBinding 内部的一些机制。

阅读全文 »

在开发中,常常会用到回调模型,为了避免回调监听未被主动释放,导致内存泄露,我们会用到 WeakReference 来存放回调引用,然而要注意的是回调类被回收的坑。本文记录笔者开发中遇到弱引用回调被回收的坑及思考。

阅读全文 »

在前一篇博文中,已经分析了阿里开源的 ARouter 框架,这篇文章将对另一款更加灵活、简单的路由框架 Router 进行分析,看看它和 ARouter 比起来有什么不同。

阅读全文 »

0. 前言

ARouter 是 Android 平台中对页面、服务提供路由功能的中间件,由阿里开发并在 Github 开源,主要应用场景如下:

  1. 从外部URL映射到内部页面,以及参数传递与解析
  2. 跨模块页面跳转,模块间解耦
  3. 拦截跳转过程,处理登陆、埋点等逻辑
  4. 跨模块API调用,通过控制反转来做组件解耦

本文将对 ARouter 的源码进行分析,学习该路由库的设计思想。

阅读全文 »