我有一个应用程序,目前,它运行一个循环,它更新游戏状态约 25 次/秒,并尝试以 40 次/秒的速度绘制它。更新工作正常,它显示的只是多一点 25。但在模拟器上,无论要绘制多少,游戏的绘制速度都低于 20 fps。即使我只将背景涂成绿色,它的 fps 也很低。
我将应用程序发送给在他的手机上对其进行测试的人,它以 40fps 的绘图速度和 25fps 的更新速度正常运行。
我在具有不同API级别的模拟器上对其进行了测试,绘图fps总是太慢。我使用日食。我是否必须对模拟器进行任何特殊设置?
还有另一个问题,在他的手机上测试它的人在启动应用程序时收到一条错误消息,它说应用程序不会做出反应以及等待和关闭的选项。等待 5-10 秒后,将显示内容视图。我创建内容视图并在方法中分配变量onCreate
,而不启动循环。在onStart
方法中我设置contentView
并启动循环,但它运行一个空的while循环,直到我boolean
在onResume
方法中设置a。有任何想法吗?
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);
}