lua与java相互调用之 GL线程与UI线程

来源:互联网 发布:花刺代理软件 编辑:程序博客网 时间:2024/05/19 09:39

cocos2d-x for Android 运行在多线程环境下,所以在 Lua 和 Java 交互时需要注意选择适当的线程。


cocos2d-x 在 Android 上以两个线程来运行,分别是负责图像渲染的 GL 线程和负责 Android 系统用户界面的 UI 线程。

  • 在 cocos2d-x 启动后,Lua 代码将由 GL 线程调用,因此从 Lua 中调用的 Java 方法如果涉及到系统用户界面的显示、更新操作,那么就必须让这部分代码切换到 UI 线程上去运行。

  • 反之亦然,从 Java 调用 Lua 代码时,需要让这个调用在 GL 线程上执行,否则 Lua 代码虽然执行了,但会无法更新 cocos2d-x 内部状态。

   确保 Lua function 跑在 GL 线程,Java 代码跑在 UI 线程。
原创粉丝点击