для запроса перекрасной реки, у меня есть две возможные стратегии: < /p>
опция 1: Использование Runnable
Я определяю myrender как runnable и запросить перерисован это до главного Looper: < /p>
Код: Выделить всё
Looper.getMainLooper().post(MyRender);
Код: Выделить всё
MyRender.run() {
PaintTheSurface();
}
Альтернативно, я определяю myrender как a choreographer.framecallback , и запросить перераспределение, используя:
Код: Выделить всё
Choreographer.getInstance().postFrameCallback(MyRender);
Код: Выделить всё
MyRender.doFrame(frameTimeNanos: Long) {
PaintTheSurface();
}
Я пробовал оба подхода, но визуально я не замечаю никакой разницы. Я не уверен, какой подход к выбору и каковы преимущества и недостатки каждого из них. Тем не менее, другие события, которые могут вызвать перерисование, например, как события Touch или Mouse Move, - насколько мне известно, увольняются хореографом .
my my Вопросы
[*] Каковы плюсы и минусы использования runnable против хореографа.framecallback для запроса redraw?
[*] Если я использую хореограф , как он обрабатывает события прикосновения или мыши, которые не могут быть синхронизированы с временем кадра хореографа?
Подробнее здесь: https://stackoverflow.com/questions/794 ... g-an-openg
Мобильная версия