2010-11-10 45 views
0

我一直在密切關注本教程。每隔幾秒就會出現口吃。如何解決這個問題?

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

一些設置的問題後,我得到了它在我的T-Mobile G1的工作。

現在我有4-5個物體(球)在屏幕上繪製。我的球在屏幕中間產生並開始下降。

問題:遊戲每隔幾秒口吃一次。我檢查了Logcat並認爲GC是罪魁禍首。然而,我見過很多使用box2D的遊戲,並且產生了流暢的遊戲性(例如,Andengine demo)。

他們是怎麼做到的?他們是如何阻止GC開始進入的?(假設GC確實是罪魁禍首)

歡迎任何意見。

預先感謝您!

回答

0

所以,如果你檢查Logcat,那麼你在模擬器上運行這個,對吧?

在這種情況下不要相信模擬器。據我所知,它讀取/寫入內存的方式使其成爲判斷應用程序如何在實際電話上運行的糟糕基準。

如果它適用於您的G1,那麼它很可能也適用於其他手機。

+0

嗨。謝謝你的回覆。但我沒有使用模擬器。我使用連接USB電纜的G1。這樣你可以看到來自G1的Logcat。 – Kakyoin 2010-11-10 17:41:38

+0

那麼,當你在沒有連接電腦的情況下運行它會發生什麼? – user432209 2010-11-11 00:50:28

0

庫存JBox2D在其計算中使用了大量的對象創建。有人在Android NDK Box2D上工作,但比起只使用Java庫來說,這有點多。我不相信JBox2D的任何(尚)版本已經解決了您似乎遇到的GC流失問題。我嘗試了一個,但我不知道它會提供多少好處,或者它離NDK版本有多近。您可能需要查看APE Physics for Android。它支持的物理模擬方面實質上較少,但對於某些應用來說可能是正常的。