上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 60 下一页
摘要: public class HackCallback implements Handler.Callback { private static final String TAG = "Matrix.HackCallback"; private static final int LAUNCH_ACTIV 阅读全文
posted @ 2019-08-03 19:11 水至清明 阅读(337) 评论(0) 推荐(0) 编辑
摘要: @Override public void onActivityCreated(Activity activity) { super.onActivityCreated(activity); if (isFirstActivityCreate && mFirstActivityMap.isEmpty 阅读全文
posted @ 2019-08-03 19:11 水至清明 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 内部FrameBeat类实现了Choreographer.FrameCallback,可以感知每一帧的绘制时间。通过前后两帧的时间差判断是否有慢函数发生。 @Override public void doFrame(long lastFrameNanos, long frameNanos) { if 阅读全文
posted @ 2019-08-03 19:11 水至清明 阅读(207) 评论(0) 推荐(0) 编辑
摘要: private final class AnalyseTask implements Runnable { private final long[] buffer; private final AnalyseExtraInfo analyseExtraInfo; private AnalyseTas 阅读全文
posted @ 2019-08-03 19:10 水至清明 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 目的:检测绘制过程中的FPS数量。 获取DectorView的ViewTreeObserver,感知UI绘制的开始 private void addDrawListener(final Activity activity) { activity.getWindow().getDecorView(). 阅读全文
posted @ 2019-08-03 19:10 水至清明 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: 目的:检测UI绘制过程中的卡顿情况。 卡顿检测与FPS检测类似,在每一帧的`doFrame回调中判断是否有卡顿发生,如有卡顿将数据发送到后台分析线程处理。 @Override public void doFrame(final long lastFrameNanos, final long fram 阅读全文
posted @ 2019-08-03 19:10 水至清明 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 目的:检测启动阶段耗时 应用启动时,会直接对ActivityThread类hook public class Hacker { private static final String TAG = "Matrix.Hacker"; public static boolean isEnterAnimat 阅读全文
posted @ 2019-08-03 19:10 水至清明 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 目的:检测影响主线程执行的慢函数。 上文讲述了在编译期,会对每个方法的执行体前后添加上MethodBeat.i(int methodId)和MethodBeat.o(int methodId)的方法调用,且methodId是在编译期生成的,在运行时是一个写死的常量。通过编译期的这个操作,就能感知到具 阅读全文
posted @ 2019-08-03 19:09 水至清明 阅读(818) 评论(0) 推荐(0) 编辑
摘要: private void insertWindowFocusChangeMethod(ClassVisitor cv) { MethodVisitor methodVisitor = cv.visitMethod(Opcodes.ACC_PUBLIC, TraceBuildConstants.MAT 阅读全文
posted @ 2019-08-03 19:08 水至清明 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 定义一个本地服务,在该服务中播放无声音乐,并绑定远程服务。 class LocalService : Service() { private var mediaPlayer: MediaPlayer? = null private var mBilder: MyBilder? = null over 阅读全文
posted @ 2019-08-02 20:56 水至清明 阅读(300) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 60 下一页