【问题标题】:One image works fine and other one slow code so much一张图片工作正常,另一张代码很慢
【发布时间】:2021-01-27 18:31:18
【问题描述】:

所以我在 android studio - java 中做小游戏。我使用 400x400 .png 图像作为船。效果很好。

Bitmap.createScaledBitmap(BitmapFactory.decodeResource(context.getResources(),R.drawable.playermove),(int)(length),(int)(height),false);

我正在使用drawBitmap 在屏幕上绘制图像。

现在我想使用不同的船。我唯一改变的是,我使用另一张 150x150 的图片而不是这张图片,也是 .png 并且游戏变得如此迟钝和笨拙。 长度和高度是屏幕的 1/10 大小。我有 8 张尺寸相似的船舶图片,每一张都让游戏变得草率。 知道为什么这些照片会让一切变得草率而第一张不会吗?

【问题讨论】:

    标签: java android


    【解决方案1】:

    您正在 UI 线程上执行此操作。你不应该!

    【讨论】:

    • 嗯,我有 2 个线程,一个我缩放图像,另一个我绘制。如果你有半个小时的空闲时间,我有几个关于 Android 线程的问题(对于我的项目),我在互联网上找不到,但不能在这里问他们,因为我需要发送整个项目。
    【解决方案2】:

    我建议不要动态缩放Bitmap,因为位图缩放有点昂贵,如果您在onDraw() 中这样做,每~17ms 触发一次,那么做冗余/昂贵的工作是不好的。我建议您对图像进行预处理并保留其缩放版本,然后每次都使用它来绘制。

    【讨论】:

      【解决方案3】:

      您没有优化您的图像,这是一项背景工作。尝试在后台执行此操作。

      这个post 也可以帮助你。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-16
        • 2012-03-09
        • 1970-01-01
        相关资源
        最近更新 更多