Skip to content

Commit b2f1f38

Browse files
committed
计算方法耗时 success
1 parent 0608fc7 commit b2f1f38

24 files changed

+81
-34
lines changed

aab/src/main/groovy/com/zly/aab/BPlugin.groovy

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class BPlugin implements Plugin<Project> {
1313

1414
@Override
1515
void apply(Project project) {
16-
println("2022.8.29================================> BPlugin")
16+
println("2022.8.29 2:39================================> BPlugin")
1717

1818
//在这里注册 Transform
1919
//AppExtension VS AndroidComponentsExtension

aab/src/main/java/com/zly/aabb/BClassVisitor.java

+40-3
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@ public MethodVisitor visitMethod(int access, String name, String descriptor, Str
2222
// void onMethodExit():即将从这个方法出去
2323
// void onVisitEnd():表示方法扫描完毕
2424
MethodVisitor newVisitor = new AdviceAdapter(Opcodes.ASM5, visitor, access, name, descriptor) {
25+
int slotIndex = 0;
2526

2627
@Override
2728
protected void onMethodEnter() {
28-
int slotIndex = newLocal(Type.LONG_TYPE);
29+
slotIndex = newLocal(Type.LONG_TYPE);
2930
visitMethodInsn(INVOKESTATIC, "java/lang/System", "currentTimeMillis", "()J", false);
3031
visitVarInsn(LSTORE, slotIndex);
3132
visitLdcInsn("zly_1111");
32-
visitLdcInsn("\u8f93\u51fa\u65f6\u95f4 ");
33+
visitLdcInsn("\u8fdb\u5165\u65f6\u95f4: ");
3334
visitVarInsn(LLOAD, slotIndex);
3435
visitMethodInsn(INVOKESTATIC, "java/lang/Long", "valueOf", "(J)Ljava/lang/Long;", false);
3536
visitMethodInsn(INVOKESTATIC, "kotlin/jvm/internal/Intrinsics", "stringPlus", "(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;", false);
@@ -41,12 +42,48 @@ protected void onMethodEnter() {
4142
@Override
4243
protected void onMethodExit(int opcode) {
4344
visitLdcInsn("zly_1111");
44-
visitLdcInsn("test get result");
45+
visitLdcInsn( "test get result");
4546
visitMethodInsn(INVOKESTATIC, "android/util/Log", "e", "(Ljava/lang/String;Ljava/lang/String;)I", false);
4647
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+
4762
super.onMethodExit(opcode);
4863
}
4964
};
5065
return newVisitor;
5166
}
5267
}
68+
69+
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+
80+
81+
82+
83+
84+
85+
86+
87+
88+
89+

app/build.gradle

+4
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,8 @@ dependencies {
4141
testImplementation 'junit:junit:4.13.2'
4242
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
4343
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
44+
//添加 LifecycleScope 依赖
45+
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
46+
47+
4448
}

app/src/main/java/com/zly/bbb/MainActivity.kt

+9-3
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,23 @@ package com.zly.bbb
33
import android.os.Bundle
44
import android.util.Log
55
import androidx.appcompat.app.AppCompatActivity
6+
import androidx.lifecycle.lifecycleScope
7+
import kotlinx.coroutines.Dispatchers
8+
import kotlinx.coroutines.delay
9+
import kotlinx.coroutines.launch
10+
import java.io.File
611

712
class MainActivity : AppCompatActivity() {
813

914
override fun onCreate(savedInstanceState: Bundle?) {
1015
super.onCreate(savedInstanceState)
1116
setContentView(R.layout.activity_main)
12-
getResult()
17+
lifecycleScope.launch(Dispatchers.IO) {
18+
getResult()
19+
}
1320
}
1421

15-
fun getResult() {
16-
22+
suspend fun getResult() {
1723
}
1824

1925

Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
fde99fc53ea058080a832f92ce5de98a
1+
4b6f9ac8d20027a2335309e2b7f00b80
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9fbb087a6735a5710bc71e53f9162c840bae2d3d
1+
f9e2f51af7edec94df338221206bc29db9626d15
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6dc6063e03620e61447b9ebd82dc36dd5996ce5a4e67877f25055f5c2ff652f0
1+
65a08b156e11790514dbf79952955559536212c25352904496d3e90618e14c53
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
80e28b03e0e858e22a0193ca1767405b3a8e3c4caf0726fa089ec8084f8a09aa9b8c43ae7230d745c6d08f956391ca7d7d18d0de67d15d443f8618dc2851b703
1+
bb3226601135b3e5a1576476922d182657c1595f324c88edc6525b77eb6b0ea1b21e4395668d7dda2a362f7b3d6cb07548311b1334ec0a18169ac19e412e6be1
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6562822e9868fbacf72f6e46fead76b3
1+
b504f55549179276712e32ea8f25b56d
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6646497ec98c9e326ed0487336740e3db773acab
1+
3f3a976396265206e2d9a5e9a107a33ce21eab4e
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2641c27483aae72a816b71cadadacea33663b21f26fbb97d471135b27fc4312b
1+
8aab3b54d362d9a6acc04d2b4703a7871acff4437cedc6aaeba2577a9618e23d
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
aaec6ef709c6aebf2398dfbf4ba497e02f4a6cdd8c66e46f1a8c97e8c4b0c182897218d8372fc963ab6c977c91db7123a1be324ccf2f62451f9ff7f2a7546e1e
1+
e1f06658393b4f3101301c10b302d430ef9d113d411f452b8dc782d962539602321b4347017783953cb347676ff3859f39ab00f1bc6851494a4502e6b8a88a81

repos/com/zly/aab/myGradlePlugin/1.0.1/myGradlePlugin-1.0.1.module

+10-10
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
{
2828
"name": "myGradlePlugin-1.0.1.jar",
2929
"url": "myGradlePlugin-1.0.1.jar",
30-
"size": 9359,
31-
"sha512": "aaec6ef709c6aebf2398dfbf4ba497e02f4a6cdd8c66e46f1a8c97e8c4b0c182897218d8372fc963ab6c977c91db7123a1be324ccf2f62451f9ff7f2a7546e1e",
32-
"sha256": "2641c27483aae72a816b71cadadacea33663b21f26fbb97d471135b27fc4312b",
33-
"sha1": "6646497ec98c9e326ed0487336740e3db773acab",
34-
"md5": "6562822e9868fbacf72f6e46fead76b3"
30+
"size": 9559,
31+
"sha512": "e1f06658393b4f3101301c10b302d430ef9d113d411f452b8dc782d962539602321b4347017783953cb347676ff3859f39ab00f1bc6851494a4502e6b8a88a81",
32+
"sha256": "8aab3b54d362d9a6acc04d2b4703a7871acff4437cedc6aaeba2577a9618e23d",
33+
"sha1": "3f3a976396265206e2d9a5e9a107a33ce21eab4e",
34+
"md5": "b504f55549179276712e32ea8f25b56d"
3535
}
3636
]
3737
},
@@ -85,11 +85,11 @@
8585
{
8686
"name": "myGradlePlugin-1.0.1.jar",
8787
"url": "myGradlePlugin-1.0.1.jar",
88-
"size": 9359,
89-
"sha512": "aaec6ef709c6aebf2398dfbf4ba497e02f4a6cdd8c66e46f1a8c97e8c4b0c182897218d8372fc963ab6c977c91db7123a1be324ccf2f62451f9ff7f2a7546e1e",
90-
"sha256": "2641c27483aae72a816b71cadadacea33663b21f26fbb97d471135b27fc4312b",
91-
"sha1": "6646497ec98c9e326ed0487336740e3db773acab",
92-
"md5": "6562822e9868fbacf72f6e46fead76b3"
88+
"size": 9559,
89+
"sha512": "e1f06658393b4f3101301c10b302d430ef9d113d411f452b8dc782d962539602321b4347017783953cb347676ff3859f39ab00f1bc6851494a4502e6b8a88a81",
90+
"sha256": "8aab3b54d362d9a6acc04d2b4703a7871acff4437cedc6aaeba2577a9618e23d",
91+
"sha1": "3f3a976396265206e2d9a5e9a107a33ce21eab4e",
92+
"md5": "b504f55549179276712e32ea8f25b56d"
9393
}
9494
]
9595
}
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1dbad70673b153739d2007b7d99fc270
1+
16c49ffde38323d7afe0d2f7ff68e58f
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
febb27a85825dd1aee4bd9a288b4d070411bd6c1
1+
4df4f684b5d9a15f353d06298c63347496759ec0
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
bf1df376d05beb4494a7a8d726332023d150df003afd5543f3b00f195f16d06f
1+
ede5bd88f9e34d9f7fa29af6773c29640496e19294d61da6540c139699ceae05
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1f4f76090f16d5b743340d94c9a5f2636326a1fe14f6ec2191453f7362fbebffa79abe5337740bd85b871e0b10ad15f2ce24aa1305c4960a5c10b22962d37191
1+
dcbbf1b31eee7c8b54fbc81ea3ab1755b140688888db2a3cb9c1a276df8e2bb68cd00c3f89c286f2ee6850b67676ebffcf961b159ec2926d5df50e7b21f448a9

repos/com/zly/aab/myGradlePlugin/maven-metadata.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
<versions>
99
<version>1.0.1</version>
1010
</versions>
11-
<lastUpdated>20220829062421</lastUpdated>
11+
<lastUpdated>20220829073511</lastUpdated>
1212
</versioning>
1313
</metadata>
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6a8c20916c601962c4810147c37088cb
1+
40ab69de0a18a7da8c1653ea6bbcdb4b
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
70dc2abc2eebdbd7eeeb2db8a43afec1935d1edf
1+
438c17cebff2d8e24738d66f309137cf9d03bcbd
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1b803b62625beaa132e4b1f0169f850550a2c96814c5ec4b151e7073c19bf49f
1+
c989a0da78baefcd13dad2fc13e79dd14b9eefb655488ce30dd02afe3ee70039
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4d9d3b16994d25bf61b02345075ff561df8704c0ae400d7164ee96a1f9383e0639263e70385eb5cbfc5a4938dc37b30946b46da6476402dac0665ffe6c4f1b48
1+
b64e4e7e65283870b0dd37c16084fd4664e67bf3a517a530d6c256b4761d7f5131e2cde08146cffbce70df62bab08e934c2abe0fe2249a1d05f2acc2faf40aae

0 commit comments

Comments
 (0)