Matrix Battery 介绍和使用

App耗电问题是一个影响用户体验,甚至影响app使用率的一个重要的性能问题。相比Crash、Anr,耗电排查是一个需要综合各种因素来最终确定问题所在的复杂流程。同时又因为耗电受影响的范围大、不同手机衡量标准又不太统一导致该问题一直是一个令人头痛的疑难杂症。

本文通过介绍耗电基本知识和 Matrix Battery的基本使用,来总结下面对耗电问题应该如何排查和定位

Read More

Share Comments

Matrix io 介绍和使用

IO-Canary

参考 Matrix IO-Canary 功能,实现对主线程操作io、重复读相同文件、读写文件buffer过小的代码动态检测

Read More

Share Comments

代码覆盖率统计——集成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