慢的应用程序与背景图像

我正在为Android做一个小游戏。 它在白色背景上工作时很stream畅,但是当我想放一个背景图像时,它变得越来越慢。 首先,我尝试将其添加为布局背景图像,但速度非常慢,animation是逐帧发生的。 然后我决定在canvas上将背景图像作为位图绘制,结果比前一个更快一些,但是与白色背景相比还是没有什么。

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

所以我想问,有没有一种方法可以添加背景图像到A​​ndroid应用程序,而不会失去应用程序的平滑性和速度?

谢谢

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

  • Canvas.clipPath(path)不按预期裁剪
  • PorterduffXfermode:清除一段位图
  • Canvas.drawTextOnPath(...)不适用于棒棒糖
  • 如何在Canvas上获得文本input?
  • 使用Android的RecyclerView时,在刷卡行下添加带有文本/图标的彩色背景
  • Androiddynamic壁纸 - OpenGL与canvas
  • 如何正确地将像素坐标转换为Android中的canvas坐标?
  • 如何在canvas上的现有矩形顶部添加矩形
  • 其相当晚,但如果别人有同样的问题; 可以尝试再次resize,可以使用no-dpi(drawable-nodpi / drawable-sw600dp-nodpi)文件夹来跳过需要太多CPU和时间的resize。

    还有别的可能会导致这种情况,我假设你忘记回收旧的位图。

    最近我有同样的问题,没有答案帮助我。但是在玩了这么多小时的代码后,我发现了一个了不起的解决scheme。你要做的是将你的背景图像复制到所有可绘制文件夹(drawable-hdpi,drawable-xhdpi。等等),那就是了。 而且我的背景图片是590kb文件大小的png。 小心图片尺寸,因为尺寸越大,应用越慢。 希望这个帮助给某个人。 🙂

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

    对于出色的性能使用平铺背景,你可以在这里find很好的解释

    在这里输入图像说明

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

    然后来到这个工具,它需要一个xhdpi PNG文件或9.png文件,并自动生成ldpi,mdpi和hdpi png文件。

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