我一直在密切关注本教程。
http://www.4feets.com/2009/03/2d-physics-on-android-using-box2d/
经过一些问题后,我让它在我的T-mobile G1上工作。
现在我在屏幕上绘制了4-5个物体(球)。我让球在屏幕中间产生并开始下降。
问题:游戏每隔几秒就会断断续续。我检查了Logcat,并认为GC是罪魁祸首。
然而,我见过许多使用box2D的游戏,并产生流畅的游戏玩法(例如,Andengine演示)。
他们是怎么做到的?他们是如何阻止GC加入的?(假设GC确实是罪魁祸首)
欢迎任何意见。
提前谢谢!
答案 0 :(得分:0)
那么,如果您检查Logcat,那么您在模拟器上运行它,对吗?
在这种情况下,不要相信模拟器。据我所知,它对内存的读/写方式使它成为判断应用程序在实际手机上运行方式的不良基准。
如果它适用于你的G1,那么它很可能也适用于其他手机。
答案 1 :(得分:0)
股票JBox2D在其计算中使用了大量的对象创建。有人正在研究Android NDK Box2D,但是这比开始使用Java库要多得多。我不相信JBox2D的任何(尚未)版本已经解决了您似乎遇到的GC流失问题。我正在尝试一个,但我不知道它将提供多少好处或者它与NDK版本有多接近。
您可能需要查看APE Physics for Android。它支持物理模拟的少得多的方面,但对于某些应用来说可能没什么用。