慢动作与背景图像

时间:2013-06-27 06:21:44

标签: android image background bitmap android-canvas

我正在为Android做一个小游戏。当它在白色背景上工作时它工作顺利,但是当我想要放置背景图像时,它变得越来越慢。首先我尝试将其添加为布局背景图像,但它非常慢,动画是逐帧发生的。然后我决定将背景图像绘制为画布上的位图,结果比前一个稍微快一点,但与白色背景相比仍然没什么。

我试图多次缩放图像,我用更高的分辨率,更低的分辨率做到了,但结果没有改变,它仍然更慢。

所以我想问一下,有没有办法在没有失去应用程序的平滑性和速度的情况下为Android应用程序添加背景图像?

由于

P.S:我在Sony Tablet S上试用我的应用程序

6 个答案:

答案 0 :(得分:41)

它很晚但如果其他人有同样的问题; 在绘图上它可能会尝试再次调整大小,你可以使用no-dpi(drawable-nodpi / drawable-sw600dp-nodpi)文件夹跳过调整大小,这需要很多cpu和时间。

还有别的东西可能导致这种情况,我认为你忘了回收旧的位图。

答案 1 :(得分:4)

您注意到滞后的主要原因是图像需要,因为您需要将背景图像复制到所有可绘制文件夹(drawable-hdpi,drawable-xhdpi等等)。我使用名为Android Drawable Importer的Android Studio插件进行自动化。奇迹般有效。

答案 2 :(得分:1)

为了获得出色的性能,请使用平铺背景,您可以找到很好的解释here

答案 3 :(得分:1)

enter image description here

我和你在同一个位置。 我有一个非常简单的应用程序,当我添加一些背景时它有滞后。试试这个应用 9-patch-resizer - Transform the image dimensions for all screens

  

然后是这个工具,它采用xhdpi PNG文件或9.png文件,并自动生成ldpi,mdpi和hdpi png文件。

当它转换图像时,将每个文件移动到它自己的项目文件夹(resources / mipmap-hdpi,mipmap-xhdpi ...等)

答案 4 :(得分:0)

背景图像分辨率,以保持平滑

<身体>
DPI 像素大小
xxxhdpi 1280x1920
xxhdpi 960x1600
xhdpi 640x960
hdpi 480x800
mdpi 320x480
ldpi 240x320

您需要使用与上述分辨率匹配的背景图片,以免出现滞后或速度变慢!!

如果使用超出上述限制的高分辨率图像,实际上会导致此问题,建议仅使用png

答案 5 :(得分:-1)

Iam也面临着同样的问题,当Iam在白色背景上运行时,我有一个非常简单的应用程序,它工作正常。但是,当Iam添加背景图片时,它会滞后,但是经过一些调整后,我想出了如何使用背景图片顺利运行该应用程序。您只需要调整背景图片的大小,并降低图片质量,这是因为图片的大小与您的应用性能成正比。因此,唯一的解决方案是调整其大小并降低图像的质量。 希望我的回答对您有所帮助。