2017-04-02 88 views
0

我正在通过android studio开发Android游戏,但是当我通过Bitmap.decodeResource和drawBitmap绘制移动背景图像时,我的游戏FPS下降到了10,这是无法玩的。有没有其他方法可以在背景中绘制缓慢移动的图像?我希望图像质量仍然合理,但背景只是一些树木在屏幕上滑动的几张图片。如何在android studio中加载背景图片时减少延迟?

回答

0

我希望您每次渲染场景时都不要拨打Bitmap.decodeResource。你必须只调用一次 - 在开始的时候,当你初始化所有其他的东西:

Bitmap gameBackground=BitmapFactory.decodeResource(getResources(), R.drawable.game_background)

然后,在游戏循环,你可以用canvas.drawBitmap(gameBackground)渲染图像。当然,最后,在场景循环之后,您必须使用gameBackground.recycle()释放分配的内存。

+0

当初始化游戏面板时,我只调用一次decodeResource,但当图片分辨率大于600x600时,它仍然是滞后的。这是否应该发生?我还有其他选项可以显示正在移动的背景图片吗? –

+0

您可以尝试将图像放在/ res目录下的drawable-nodpi文件夹中。通过这种方式,您的图像将不会被重新调整大小,默认情况下需要大量内存和CPU。另一件事 - 你的形象最好是PNG。 –

+0

我认为调整大小对我的应用程序是必要的。有没有简单的方法解决这个问题? Android工作室不是为了处理高质量的图像? –