代码覆盖率统计——集成Jacoco 2024-04-24 accumulation Jacoco 6 min read , Words: 1143 代码覆盖率代码覆盖率是软件测试中一个重要的评价指标。主要是指程序运行过程中,被执行到的代码在总代码中的占比程度,现在有很多插件可以实现这个功能,应用比较广的就是jacoco。 代码覆盖率从测试方式上有两个方向可以进行: 单元测试(白盒测试) 功能测试(黑盒测试) 下面在Android工程中,分别用Jacoco来实现这两个方向的代码覆盖率统计: Read More
Native Crash日志分析 2023-11-13 accumulation Native Crash 4 min read , Words: 794 本文是上一篇《Native Crash 捕获原理》的姊妹篇,主要介绍如何分析Native Crash日志,以及常见的Native Crash类型 Read More
Native Crash捕获原理 2023-11-02 accumulation Native Crash 7 min read , Words: 1399 本文主要介绍Native Crash捕获原理 Read More
跨进程通信Bridge建立 2023-10-26 accumulation multi-process 5 min read , Words: 963 本文介绍了Android跨进程通信的原理,并对Hermes的源码进行分析。 先简单总结下:Hermes也是通过AIDL的方式来最终实现跨进程通信,通信的内容是Gson。其中用到的了动态代理技术。后面再详细分析下为什么要用到动态代理 Read More
Matrix TraceCanary源码分析 2023-09-26 accumulation ConstraintLayout 11 min read , Words: 2100 本文主要介绍Matrix的Trace部分,主要涉及帧率、ANR、慢函数、启动耗时的检测逻辑。 Read More
ConstraintLayout 高级用法介绍 2023-02-10 accumulation ConstraintLayout 5 min read , Words: 954 本文介绍了部分ConstraintLayout 2.0新增的api,同时介绍了一下ConstraintLayout中不太常用的方法,方便以后查阅。 Read More
ANR 触发原理 2022-08-08 accumulation ANR 1 min read , Words: 76 Input超时机制input的超时检测机制跟service、broadcast、provider截然不同,为了更好的理解input过程先来介绍两个重要线程的相关工作: Read More
RecyclerView inflate优化 2022-07-21 accumulation AsyncInflate, RecyclerView optimization 5 min read , Words: 939 背景本文是在工作中对App启动耗时中页面展现耗时的一个优化,特意记录优化方案和遇到的问题。主要是针对首页Recyclerview itemview的一个优化,减少itemview inflate耗时,从而减少onCreateViewHolder耗时,最终减少页面展现的耗时 Read More