我一直在密切关注本教程。
http://www.4feets.com/2009/03/2d-physics-on-android-using-box2d/
在遇到一些问题后,我让它在我的T-mobile G1上工作。
现在我在屏幕上画了4-5个对象(球)。我让球在屏幕的中央产生,然后开始下落。
问题:游戏每隔几秒钟就卡顿一次。我检查了Logcat,并认为GC是罪魁祸首。
然而,我已经看过很多使用box2D的游戏,并产生流畅的游戏效果(例如,引擎演示)。
他们是怎么做到的?他们是如何阻止GC介入的?(假设GC真的是罪魁祸首)
欢迎提出任何意见。
提前谢谢你!
发布于 2010-11-11 01:16:10
所以,如果你在检查Logcat,那么你就是在模拟器上运行它,对吧?
在这种情况下,不要信任仿真器。据我所知,它读/写内存的方式使它成为判断你的应用程序将如何在实际手机上运行的糟糕基线。
如果它能在你的G1上工作,那么它很可能也能在其他手机上工作。
发布于 2010-12-13 23:29:59
Stock JBox2D在其计算中使用大量的对象创建。有些人正在开发Android NDK Box2D,但这比仅仅使用Java库要多做一些工作。我不相信(到目前为止)有任何版本的JBox2D已经解决了您可能遇到的GC流失问题。我正在尝试一个,但我不知道它将提供多少好处,也不知道它与NDK版本的距离有多近。
您可能想要研究一下APE Physics for Android。它支持的物理模拟方面要少得多,但这对于某些应用程序来说可能还不错。
https://stackoverflow.com/questions/4146775
复制相似问题