Android线程 - 队列可运行

时间:2011-12-25 12:07:59

标签: android multithreading handler looper

我尝试使用android编写一个小游戏,并且在线程方面存在一些问题。 游戏的主循环运行在这个自己的线程中,基本上只是做这样的事情:

  public void run() {
    while (true) {
      NativeGameLib.gameTick(t);
    }
  }

现在我想将触摸输入传递给NativeGameLib。我以为我在UI线程中使用视图的onTouchEvent(),创建一个可运行的内部并让它在主循环线程上执行。

但我真的不知道怎么做。我已经看到有一个Handler和一个Looper类,我可以使用处理程序将runable发布到messageQueue和Looper.loop()函数来处理队列。

据我所知,loop()函数无休止地检查新消息,从而阻塞线程。 那么,我怎样才能将它与我的线程结合起来。我想在线程中做这样的事情:

  public void run() {
    while (true) {
      processMessageQueue();
      NativeGameLib.gameTick(t);
    }
  }

有什么想法吗? 感谢。

1 个答案:

答案 0 :(得分:0)