Android задержка при нажатии кнопок
Имеется следующая проблема: в приложении на Android Studio кнопки срабатывают с некой задержкой в 100-200мс - как на эмуляторе так и на реальном устройстве. Содержимое кнопки менял на банально вывод текста в textView - всё равно задержка. Подскажите, как с этим бороться?
val calcButtonsText = arrayOf<String>("C", "<", "^", "/", "7", "8", "9", "*", "4", "5", "6", "-", "1", "2", "3", "+", "(", "0", ".", ")")
val calcButtons = ArrayList<Button>()
for (i in 1..20) {
calcButtons.add(findViewById(resources.getIdentifier("calc_button" + i, "id", packageName)))
val thisButton = calcButtons[i-1]
thisButton.setOnClickListener() { v ->
val start = System.currentTimeMillis()
vibrator.vibrate(50)
val b = v as Button
val cursorPos = editText.selectionStart
when {
b.text in "1234567890." -> { editText.setText(editText.text.toString().insert(cursorPos, b.text.toString())); editText.setSelection(cursorPos+1) }
b.text in "+-*/^" -> { editText.setText(editText.text.toString().insert(cursorPos, b.text.toString())); editText.setSelection(cursorPos+1) }
b.text in "()" -> { editText.setText(editText.text.toString().insert(cursorPos, b.text.toString())); editText.setSelection(cursorPos+1) }
b.text == "<" -> { if (cursorPos > 0) { editText.setText(editText.text.toString().pop(cursorPos-1)); editText.setSelection(cursorPos-1) } }
b.text == "C" -> editText.setText("")
else -> editText.setText("ERROR")
}
Log.d("TIME AWAIT", ((System.currentTimeMillis()-start)/1000.0).toString())
}
}
На выводе получаю: 0.07 - 0.23
Устройства: Redmi 9 и эмулятор Pixel 5
Источник: Stack Overflow на русском