老师您好, ARTHOOK(Epic),ASpectJ,Lancet的区别

来源:6-6 如何实现界面秒开

慕仔0019783

2020-06-20

老师您好,视频中讲到的几个AOP框架. ARTHOOK(Epic),ASpectJ,Lancet
ARTHOOK(Epic):
1.可以进行检测APP方法.例如:可以检测执行时间.
2.可以HOOK系统方法(APP直接调用到方法).例如:IPC的通信.
3.都是HOOK然后做一些判断.无法修改原方法的执行逻辑.
ASpectJ:
1.可以HOOK APP中的任何方法.无法HOOK系统的方法
Lancet框架:
1.也是HOOK APP中方法.例如:Activity的生命周期方法,Log类等.

疑问:
当我HOOK APP中的方法时,这三个怎么选择.
或者说是不是HOOK不同的的方法使用不同的框架呢?
还希望老师给指点迷津.

写回答

1回答

随风绽放

2020-06-20

同学你好,你总结的还是不错的。

需要注意的是:

  1. ARTHook 这样的东西稳定性是问题,基本断定无法带上线大面积使用,所以就是在线下使用

  2. Aspect 和 Lancet 本质上是一样的:植入代码做一些事情,只是 Lancet 更简单些,但是灵活性不足

  3. 因此使用的时候结合你的使用场景,如果你是想在线下使用比如看有多少地方创建了线程等可以直接使用 ARTHook,而如果需要带到线上的话建议使用后两个。

0
1
慕仔0019783
非常感谢!
2020-06-22
共1条回复

Top团队大牛带你玩转Android性能分析与优化

由表及里学到国内Top团队对性能问题的体系化解决方案

1696 学习 · 532 问题

查看课程