0

我一直在密切关注本教程。

http://www.4feets.com/2009/03/2d-physics-on-android-using-box2d/

在遇到一些问题后,我让它在我的 T-mobile G1 上工作。

现在我在屏幕上绘制了 4-5 个对象(球)。我让球在屏幕中间产生并开始下落。

问题:游戏每隔几秒就会卡顿。我检查了 Logcat 并认为 GC 是罪魁祸首。

但是,我见过很多使用 box2D 的游戏并制作出流畅的游戏玩法(例如,Andengine 演示)。

他们是怎么做到的?他们是如何阻止 GC 启动的?(假设 GC 真的是罪魁祸首)

欢迎任何意见。

先感谢您!

4

2 回答 2

0

所以,如果你检查 Logcat,那么你在模拟器上运行它,对吗?

在这种情况下不要相信模拟器。据我了解,它读取/写入内存的方式使其成为判断应用程序如何在实际手机上运行的糟糕基准。

如果它适用于您的 G1,那么它很可能也适用于其他手机。

于 2010-11-10T17:16:09.943 回答
0

Stock JBox2D 在其计算中使用了大量的对象创建。有人在开发Android NDK Box2D,但这比仅仅使用 Java 库还需要更多的工作。我不相信有任何(尚未)版本的 JBox2D 可以解决您似乎遇到的 GC 流失问题。我正在尝试一个,但我不知道它会提供多少好处,也不知道它与 NDK 版本有多接近。

您可能想查看适用于 Android 的 APE Physics。它支持的物理模拟方面要少得多,但这对于某些应用程序来说可能没问题。

于 2010-12-13T15:29:59.280 回答