#android #timer
Вопрос:
У меня есть простой сценарий для приложения Xamarin Forms (Android и iOS):
- пользователь нажимает кнопку, чтобы начать перемещение фигуры
- пользователь снова нажимает на кнопку, чтобы фигура перестала двигаться
Когда происходит #1, я запускаю таймер:
Device.StartTimer(TimeSpan.FromMilliseconds(25), () =>
{
switch (Phase)
{
case Moving:
// logic to change the shape's position on the canvas
_canvas.InvalidateSurface();
return true;
case Stopped:
return false;
}
});
В событии «Щелчок» моей кнопки я установил фазу либо «Перемещение», либо «Остановка».
Что я замечаю, так это то, что с момента нажатия кнопки до появления результатов наблюдается небольшая задержка/задержка. Это должно быть немедленно — как только пользователь нажимает на кнопку, фигура должна остановиться. Вызывает ли таймер задержку, когда дело доходит до ввода данных пользователем? Я не замечаю такой большой задержки, если увеличу интервал с 25 миллисекунд до 100 миллисекунд.
Я вижу такое поведение, используя эмуляторы, а также реальное устройство Android.