我有一个应用程序,现在,它运行一个循环,它更新游戏状态~25次/秒,并尝试绘制它40次/秒。更新工作正常,它只显示了超过25。但在模拟器上,游戏绘制不到20 fps,无论绘制多少。即使我只画背景绿色它也有低fps。
我将应用程序发送给在手机上测试它的人,它以40fps的绘图速度和25fps的更新速度正确运行。
我在具有不同API级别的模拟器上测试了它,绘图fps总是太慢。我用eclipse。我是否必须为模拟器进行任何特殊设置?
还有另一个问题,那个在手机上测试它的人在启动应用程序时收到错误消息,它说应用程序不会做出反应以及等待和关闭的选项。等待5-10秒后,将显示内容视图。我创建内容视图并在onCreate
方法中分配变量,而不启动循环。在onStart
方法中,我设置contentView
并开始循环,但它会运行一个空的while循环,直到我在boolean
方法中设置onResume
。任何想法?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
view= new MainMenu(this); }
protected void onStart() {
super.onStart();
this.setContentView(view);
view.startGameView();
}
public void startGameView() {
loop=new GameLoop(this);
loop.start();
}
protected void onResume() {
super.onResume();
view.resumeGameView();
}
public void resumeGameView() {
loop.b_pause=false;//loop starts to execute code for drawing/updating
}
活动更改的代码:
public void changeActivity(Class c, String str)
{
Intent i=new Intent(this, c);
startActivity(i);
}