私はandengineで最初のプロジェクトを構築しようとしています。今のところうまく動作しますが、スレッドモデルに問題があります。 私が知る限り、uiのフリーズを防ぐために更新スレッドで計算を行う必要があります。 私の計算が実際にupdatethreadで行われていることを確認するために、私はfor-loopを使って模擬方法を作り、画面が凍結しているかどうかを確認しました。これは私のテストコードです:andengine:updatethreadの呼び出しがuiスレッド/アニメーションをフリーズする
これは私がシーンを初期化する方法である:
private void init() {
engine.registerUpdateHandler(new IUpdateHandler() {
@Override
public void onUpdate(final float pSecondsElapsed) {
gamemodel.test();
}
@Override
public void reset() {
}
});
gamemodelは、このクラスからオブジェクトです:
public class Game {
public void test() {
for(int i=0;i<100000000;++i) {
}
}
}
私はまた、テストメソッドを呼び出そうとしましたengine.runOnUpdateThreadの中では動作しませんでした。
私は、テストメソッドがUIスレッドで呼び出されないため、シーン内のアニメーション(アニメーションスプライト)がフリーズしない点を除きます。そこでここでは何が起こっているのか、解決策は何ですか?