0
我试图用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内,但它也不起作用。
我会除了场景中的动画(animatedsprites)不会冻结,因为测试方法没有在UI线程中调用。那么这里发生了什么,解决方案是什么?