31

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

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

所以我想问一下,有没有办法在不失去应用程序的流畅性和速度的情况下向android应用程序添加背景图像?

谢谢

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

4

7 回答 7

47

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

还有其他原因可能导致此问题,我假设您忘记回收旧的位图。

于 2014-09-15T12:53:45.737 回答
14

最近我遇到了同样的问题,没有答案对我有帮助。但是在玩了这么多小时的代码之后,我找到了一个了不起的解决方案。你要做的就是将你的背景图像复制到所有可绘制的文件夹(drawable-hdpi、drawable-xhdpi。 ..等),就是这样。而且我的背景图片是 590kb 文件大小的 png。请注意图像尺寸,因为尺寸越大,应用程序就越慢。希望这对某人有帮助。:-)

于 2015-09-14T10:05:30.993 回答
4

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

于 2016-02-12T18:38:38.410 回答
1

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

于 2013-06-27T06:38:17.407 回答
1

在此处输入图像描述

我和你处于同样的位置。我有一个非常简单的应用程序,当我添加一些背景时它会出现滞后。试试这个应用程序9-patch-resizer - 转换所有屏幕的图像尺寸

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

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

于 2017-05-05T00:55:43.890 回答
0

背景图像分辨率保持平滑

DPI 像素大小
xxxhdpi 1280x1920
xxhdpi 960x1600
xhdpi 640x960
hdpi 480x800
mdpi 320x480
低密度脂蛋白 240x320

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

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

于 2020-12-18T01:54:43.000 回答
-1

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

于 2020-04-28T12:57:50.730 回答