由于后台进程导致的Android线程问题

时间:2010-03-08 17:53:43

标签: android multithreading

我用一些简单的动画编写了一个非常简单的游戏,但我注意到当手机检查电子邮件或其他几个应用程序正在运行时,我的线程中更新的动画开始表现缓慢或波动。

这是一个问题,因为游戏机制需要根据动画对屏幕触摸进行一些仔细的计时。因此,如果它开始表现不正常,那么游戏并不能很好地运作 - 而且并不是很有趣。

有没有办法防止这种情况发生?我的线程在需要运行时可以有更高的优先级吗?

3 个答案:

答案 0 :(得分:3)

尝试将线程优先级设置为最大值。这可以对android中的渲染线程的性能产生很大的影响:

mThread.setPriority(Thread.MAX_PRIORITY)

答案 1 :(得分:2)

从我在Android源代码中看到的这似乎是改变线程优先级的首选方法,遗憾的是我找不到关于这个的文档与使用Thread类的文档:

Process.setThreadPriority(Process.THREAD_PRIORITY_URGENT_DISPLAY);

答案 2 :(得分:0)

如果您在运行游戏时切换到手机/或其他应用程序,请停止游戏线程。检查基础知识,例如浪费的“新东西”,不必要的东西。作为上一个修复,您可能希望使用GL上下文执行一些绘制。

希望这会有所帮助:)

相关问题