Заикаться каждые несколько секунд. Как это исправить? - PullRequest
0 голосов
/ 10 ноября 2010

Я внимательно следил за этим уроком.

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

После некоторых проблем я заставил его работать на моем T-mobile G1.

Теперь у меня на экране нарисовано 4-5 объектов (шаров).У меня шары появляются по центру экрана и начинают падать.

Проблема: игра заикается каждые несколько секунд.Я проверил Logcat и считаю, что виноват GC.

Однако я видел много игр, использующих box2D и создающих плавный игровой процесс (пример, демоверсия Andengine).

Как они это сделали?Как они помешали GC включиться? (При условии, что GC действительно виновник)

Любые мнения приветствуются.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 13 декабря 2010

Stock JBox2D использует тонны создания объектов в своих расчетах.Есть люди, работающие над Android NDK Box2D , но это немного больше работы, чем просто использование библиотеки Java.Я не верю, что есть какая-либо (пока) версия JBox2D, которая разрешила проблему оттока GC, которая у вас, похоже, возникла.Я пытаюсь это сделать, но я не знаю, какую пользу он даст или насколько близко он получит версию NDK.

Возможно, вы захотите изучить APE Physics для Android .Он поддерживает значительно меньше аспектов физического моделирования, но это может быть хорошо для некоторых приложений.

0 голосов
/ 10 ноября 2010

Итак, если вы изучаете Logcat, то вы запускаете это на эмуляторе, верно?

Не доверяйте эмулятору в этом случае. Как я понимаю, способ чтения / записи в память делает его плохой базой для оценки работы вашего приложения на реальном телефоне.

Если он работает на вашем G1, то, скорее всего, он будет работать и на других телефонах.

...