代码覆盖率统计——集成Jacoco

代码覆盖率

代码覆盖率是软件测试中一个重要的评价指标。主要是指程序运行过程中,被执行到的代码在总代码中的占比程度,现在有很多插件可以实现这个功能,应用比较广的就是jacoco。

代码覆盖率从测试方式上有两个方向可以进行:

  • 单元测试(白盒测试)
  • 功能测试(黑盒测试)

下面在Android工程中,分别用Jacoco来实现这两个方向的代码覆盖率统计:

Read More

Share Comments

Native Crash日志分析

本文是上一篇《Native Crash 捕获原理》的姊妹篇,主要介绍如何分析Native Crash日志,以及常见的Native Crash类型

Read More

Share Comments

Native Crash捕获原理

本文主要介绍Native Crash捕获原理

Read More

Share Comments

跨进程通信Bridge建立

本文介绍了Android跨进程通信的原理,并对Hermes的源码进行分析。

先简单总结下:Hermes也是通过AIDL的方式来最终实现跨进程通信,通信的内容是Gson。其中用到的了动态代理技术
后面再详细分析下为什么要用到动态代理

Read More

Share Comments

Matrix TraceCanary源码分析

本文主要介绍Matrix的Trace部分,主要涉及帧率、ANR、慢函数、启动耗时的检测逻辑。

Read More

Share Comments

ConstraintLayout 高级用法介绍

本文介绍了部分ConstraintLayout 2.0新增的api,同时介绍了一下ConstraintLayout中不太常用的方法,方便以后查阅。

Read More

Share Comments

ANR 触发原理

Input超时机制

input的超时检测机制跟service、broadcast、provider截然不同,为了更好的理解input过程先来介绍两个重要线程的相关工作:

Read More

Share Comments

RecyclerView inflate优化

背景

本文是在工作中对App启动耗时中页面展现耗时的一个优化,特意记录优化方案和遇到的问题。
主要是针对首页Recyclerview itemview的一个优化,减少itemview inflate耗时,从而减少onCreateViewHolder耗时,最终减少页面展现的耗时

Read More

Share Comments