首页 > 解决方案 > 如何提高像素绘制过程的性能?

问题描述

也许对你们大多数人来说这是一个简单的问题,但是 Kotlin 中的循环计数器是否有任何替代方案。我需要它来提高性能。我在模板中使用了嵌套循环来检查这种方法是否有意义,现在我想加快它的速度。

我的循环如下所示:

val rectF = RectF()
for (y in 0 until 256) {
    for (x in 0 until 256) {
       pos = getIndexOfMax(results!![0][y][x])
       if (pos > 0) {
          rectF.left = (x / 256f * w) - xw
          rectF.top = (y / 256f * h) - xh
          rectF.right = (x / 256f * w) + xw
          rectF.bottom = (y / 256f * h) + xh
          canvas.drawRect(rectF, boxPaint)
       }
                    
     }
}

如您所见,此处需要“x”和“y”来计算框位置。我需要稍微(或更多)加快绘画过程,但我不知道如何.map在这里使用,因为我只看到了使用foreach循环.map的示例。抱歉,但我不像以前使用嵌套循环的 Kotlin 老手,因为这些循环并没有受到显着性能损失的影响。

标签: androidperformancekotlin

解决方案


推荐阅读