UIスレッドで遅延発生するとANR発生しやすくなるしね
自分の場合は処理用のハンドラーを別スレッドで生成しておいて
UIでイベントが発生したらメッセージを投げるようにしてる
SurfaceViewやOpenGLは使ってないので
再描画の処理はUIスレッドのハンドラーにメッセージ投げる感じで
イベントと処理が非同期になってしまうので、排他は別途ごちゃごちゃと