我有代码,我在其中定义了 350 多个变量以在 350 多个 if else 语句中使用。
我的问题是:“为什么我的代码需要 30 多秒来更新我使用自动填充管理器粘贴的内容?这是因为我有这么多 if、else if 语句和定义的变量吗?”
//350+ defined initially
var A244: String = "A244" //1
var C219: String = "C219" //2
var A099: String = "A099" //3
var A169: String = "A169" //4
var A185: String = "A185" //5
// ETC ETC ETC...
//THEN THE 350+ ELSE IF STATMENTS BEGIN
else if (A985.compareTo(punitstring) == 0) {
val mtext2 = findViewById(R.id.textView4) as TextView
mtext2.setText("4-5t DBB")
val mtext3 = findViewById(R.id.textView8) as TextView
mtext3.setText("Second")
}
else if (B024.compareTo(punitstring) == 0) {
val mtext2 = findViewById(R.id.textView4) as TextView
mtext2.setText("N/A0")
val mtext3 = findViewById(R.id.textView8) as TextView
mtext3.setText("First")
}
else if (B199.compareTo(punitstring) == 0) {
val mtext2 = findViewById(R.id.textView4) as TextView
mtext2.setText("N/A1")
val mtext3 = findViewById(R.id.textView8) as TextView
mtext3.setText("First")
}
else if (B215.compareTo(punitstring) == 0) {
val mtext2 = findViewById(R.id.textView4) as TextView
mtext2.setText("N/A2")
val mtext3 = findViewById(R.id.textView8) as TextView
mtext3.setText("First")
}
else if (B218.compareTo(punitstring) == 0) {
val mtext2 = findViewById(R.id.textView4) as TextView
mtext2.setText("DC Walkie")
val mtext3 = findViewById(R.id.textView8) as TextView
mtext3.setText("First")
}
else if (B219.compareTo(punitstring) == 0) {
val mtext2 = findViewById(R.id.textView4) as TextView
mtext2.setText("AC 3 WS")
val mtext3 = findViewById(R.id.textView8) as TextView
mtext3.setText("First")
}
从我的代码中,您可以看到我粘贴的内容(请参见下面的“之前”图片),但经过一番思考,IDE 会更新为之后图片中显示的内容(请参见下面的“之后”图片)。我相信这可能是由于声明太多,但需要一些确认,并且可能需要一些关于我应该如何开始清理它的输入。
之前,当 IDE 最初加载时: https ://i.stack.imgur.com/OOBqR.jpg
在等待经理使用自动填充更新代码大约 30 多秒后: https ://i.stack.imgur.com/9LjwR.jpg
我已经尝试为 IDE 分配最大数量的磁盘和 RAM 空间,但这并没有帮助。
我的下一步是可能将所有 var 连接到一个特定的语句。我不确定如何缩短 if 语句。
谢谢!