@@ -22,14 +22,15 @@ public MethodVisitor visitMethod(int access, String name, String descriptor, Str
22
22
// void onMethodExit():即将从这个方法出去
23
23
// void onVisitEnd():表示方法扫描完毕
24
24
MethodVisitor newVisitor = new AdviceAdapter (Opcodes .ASM5 , visitor , access , name , descriptor ) {
25
+ int slotIndex = 0 ;
25
26
26
27
@ Override
27
28
protected void onMethodEnter () {
28
- int slotIndex = newLocal (Type .LONG_TYPE );
29
+ slotIndex = newLocal (Type .LONG_TYPE );
29
30
visitMethodInsn (INVOKESTATIC , "java/lang/System" , "currentTimeMillis" , "()J" , false );
30
31
visitVarInsn (LSTORE , slotIndex );
31
32
visitLdcInsn ("zly_1111" );
32
- visitLdcInsn ("\u8f93 \u51fa \u65f6 \u95f4 " );
33
+ visitLdcInsn ("\u8fdb \u5165 \u65f6 \u95f4 : " );
33
34
visitVarInsn (LLOAD , slotIndex );
34
35
visitMethodInsn (INVOKESTATIC , "java/lang/Long" , "valueOf" , "(J)Ljava/lang/Long;" , false );
35
36
visitMethodInsn (INVOKESTATIC , "kotlin/jvm/internal/Intrinsics" , "stringPlus" , "(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;" , false );
@@ -41,12 +42,48 @@ protected void onMethodEnter() {
41
42
@ Override
42
43
protected void onMethodExit (int opcode ) {
43
44
visitLdcInsn ("zly_1111" );
44
- visitLdcInsn ("test get result" );
45
+ visitLdcInsn ( "test get result" );
45
46
visitMethodInsn (INVOKESTATIC , "android/util/Log" , "e" , "(Ljava/lang/String;Ljava/lang/String;)I" , false );
46
47
visitInsn (POP );
48
+
49
+ int slotIndex2 = newLocal (Type .LONG_TYPE );
50
+ visitMethodInsn (INVOKESTATIC , "java/lang/System" , "currentTimeMillis" , "()J" , false );
51
+ visitVarInsn (LSTORE , slotIndex2 );
52
+ visitLdcInsn ("zly_1111" );
53
+ visitLdcInsn (name + " ----- \u79bb \u5f00 \u65f6 \u95f4 \u5dee : " );
54
+ visitVarInsn (LLOAD , slotIndex2 );
55
+ visitVarInsn (LLOAD , slotIndex );
56
+ visitInsn (LSUB );
57
+ visitMethodInsn (INVOKESTATIC , "java/lang/Long" , "valueOf" , "(J)Ljava/lang/Long;" , false );
58
+ visitMethodInsn (INVOKESTATIC , "kotlin/jvm/internal/Intrinsics" , "stringPlus" , "(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;" , false );
59
+ visitMethodInsn (INVOKESTATIC , "android/util/Log" , "e" , "(Ljava/lang/String;Ljava/lang/String;)I" , false );
60
+ visitInsn (POP );
61
+
47
62
super .onMethodExit (opcode );
48
63
}
49
64
};
50
65
return newVisitor ;
51
66
}
52
67
}
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
0 commit comments