Android Surface上的2D游戏在触摸时运行缓慢

Sco*_*eld 2 android 2d

我正在使用Android SurfaceView构建2D游戏.当我触摸屏幕时,游戏动画运行缓慢.为什么,我该如何避免这种情况?

触摸事件就像存根一样onTouchEvents(MotionEvents ev){ empty };.所有游戏逻辑和图形绘制代码都run()在一个extends Thread类中.

小智 6

将UI线程休眠16-20ms将使触摸事件处理代码每秒被调用太多次.

例:

@Override
public boolean onTouchEvent(MotionEvent event) {

 //Event handling logic

    try {
        Thread.sleep(16);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

触摸事件的发送速度与UI线程可以读取的速度一样快,通过休眠线程可以跳过多个事件发送.(虽然你的游戏逻辑或用户没有明显的数量)