Java 当android中加载太多图片时,游戏会冻结

Java 当android中加载太多图片时,游戏会冻结,java,android,performance,sprite,game-engine,Java,Android,Performance,Sprite,Game Engine,我有一个游戏引擎在这里,当我有很多图片加载它冻结游戏时,有时不允许它顺利运行。现在我对游戏编程还不熟悉,所以我想现在发生的事情是,我一次又一次地加载图像,导致CPU过载并减速,因为它不能同时处理那么多事情。我正在创建一个基本的小行星游戏,当我发射导弹时,伴随着小行星向我飞来,这会导致游戏运行缓慢。有没有一种方法可以更好地构造它,这样我只能加载一次图像,然后每次都重新加载该图像,而不是每次子弹发射或加载android图像时都从资源中提取图像 在一个游戏中,你不能花费超过33毫秒的时间(高性能游戏的

我有一个游戏引擎在这里,当我有很多图片加载它冻结游戏时,有时不允许它顺利运行。现在我对游戏编程还不熟悉,所以我想现在发生的事情是,我一次又一次地加载图像,导致CPU过载并减速,因为它不能同时处理那么多事情。我正在创建一个基本的小行星游戏,当我发射导弹时,伴随着小行星向我飞来,这会导致游戏运行缓慢。有没有一种方法可以更好地构造它,这样我只能加载一次图像,然后每次都重新加载该图像,而不是每次子弹发射或加载android图像时都从资源中提取图像


在一个游戏中,你不能花费超过33毫秒的时间(高性能游戏的时间为16毫秒)来绘制和更新游戏,它至少会给你30 fps(每秒帧数)。众所周知,在一场比赛中抽签要花更多的时间然后再更新。如果你画了很多精灵和大的表面,你的帧速率将低于每秒25帧,你的游戏看起来会很慢


你也可以在这里找到很好的解释

使用探查器检测有问题的代码。当您在性能方面遇到问题时,这是一件基本的事情。我这样做是为了android?在DDMS中使用Traceview进行评测:这正是我的问题,但我认为游戏必须在整个游戏过程中不断更新?但是从你说的我必须去编辑游戏的更新部分你在用哪一个英语,你需要画多少个图形?。例如,这个游戏不能在资源很少的旧设备上获得最低22 FPS。它需要为它们绘制许多精灵。我通过移除一些正在加载的东西来处理冻结。听起来你的游戏循环有问题。有一些很好的文章可能会有所帮助——让初学者尝试一下:但是如上所述,请确保所有内容都经过优化,以尽可能快地运行。