0

신체의 시스템을 발전시키는 물리적 시뮬레이션을 수행하기 위해 안드로이드 활동을 디자인해야합니다. 액티비티는 바디의 위치를 ​​표시하는 SurfaceView와 시간 속도와 같은 매개 변수를 제어하고 사용자와의 상호 작용을 허용하는 다른 뷰 (버튼)로 구성됩니다.활동의 시뮬레이션

시뮬레이션을 실행하려면 모든 활동의보기를 볼 수 있도록 활동 내에서 새 스레드 클래스를 만드는 것이 좋습니다. 어쨌든 UI 스레드의 모든 뷰에서이 새로운 스레드와 드로잉 및 그래픽 업데이트 내에서 계산하는 것이 더 좋습니다.

나는이 종류의 일을 수행하기 위해 AsyncTask를 사용할 수 있지만 AsyncTask는 끝이있는 무언가 (onPostExecute를 생각해보십시오)를 수행하도록 설계된 것으로 보입니다. 시뮬레이션은 무한정 계속 될 것이므로 활동이 파괴 될 때까지 내 작업이 종료되지 않습니다.

AsyncTask에 문제가 있으며 다른 방법을 고려해야합니까?

답변

0

AsyncTask에서 계산을 수행하고 GUI 기본 스레드를 주기적으로 업데이트 할 수 있습니다. 끊이지 않는 스레드는 문제가되지 않습니다.

그러나 물리 시뮬레이션은 독자적인 주제입니다. 그렇다면 기존의 물리 시뮬레이션 엔진을 사용하지 않는 이유는 무엇입니까? android port이있는 box2d가 있습니다.