Я работаю на мягкой клавиатуре, где я успешно заменяю текущую клавиатуру устройства по умолчанию с помощью моей мягкой клавиатуры.
Но проблема в том, что после нескольких использования полная клавиатура стала пустой, а операционная система телефона начала работать очень медленно. Мне пришлось закрыть приложение для клавиатуры, чтобы телефон снова работал правильно.Виртуальная или мягкая клавиатура замедляет скорость ОС
Как я использовал KeyboardView и в клавиатуре, я использовал краску, холст, растровое изображение, которое часто называют ОС.
public void onDraw(Canvas canvas) {
rect = new RectF(x2+4, y2+4, ((width-4)+(x2+4)), ((height-10)+(y2+4)));
canvas.drawRoundRect(rect, 3, 3, paint2);
canvas.drawText(key.label.toString(), x2 + (float)(width * 0.40), y2 + (float)(height * 0.7), paint);
canvas.drawText(smallAlphaText[index], x2 + (float)(width * 0.15), y2 + (float)(height * 0.30), paint3);
canvas.drawText(smallBetaText[index], x2 + (float)(width * 0.80), y2 + (float)(height * 0.30), paint4);
}
Это небольшой фрагмент кода, показывающий, что на самом деле я использовал.
В основном OnDraw() вызывается снова и снова ОС, так что, хотя я заменил мой экранная клавиатура с клавиатуры по умолчанию он работает на фоне и замедляет скорость устройства
Я думаю, что это вопрос что замедляет скорость моего телефона. Итак, как я могу использовать краску, холст, растровое изображение эффективно, чтобы оно не замедляло мое устройство?
Что касается размещения кода? –
@MisterSmith Я добавил фрагмент кода здесь ... – Aniket
Ну, конечно, есть место для оптимизации в этом фрагменте. Вы можете кэшировать все вычисления, так как результаты будут одинаковыми каждый раз. Но я думаю, что большинство телефонов, даже дрянных, могут хрустнуть эти вычисления без отставания. Проблема должна быть в другом месте. –