【发布时间】:2011-11-29 03:17:49
【问题描述】:
我的应用程序在连续循环中绘制到画布上,并且在每个循环中重新评估可绘制对象的位置并循环它们以进行动画处理。我的问题是以下两种方法中哪一种更好,为什么?我是一个初学者,所以我不知道如何对方法进行基准测试和类似的东西,所以如果你可以,或者你已经有了,我会很感激你的意见。
第一种方法(我正在使用的方法)是为 png 资源分配一个 Handle 作为 Drawable。然后每次我想绘制我调用的对象时:
Drawable.setBounds(x,y,x,y);
Drawable.draw(canvas);
我的问题是(在构造函数中)将资源解码为位图,然后将其缩放到适当的大小是否会更快。然后在每个循环上通过以下方式绘制资源:
canvas.drawBitmap(DrawableName, 0, 0, null);
我问的原因是我的应用程序占用了数百个资源,因此更改一些资源并不足以说明区别,我想知道在大修之前这样做是否会明显更快编码。无论如何,我需要以某种方式提高性能,因此也欢迎任何其他好的想法。
【问题讨论】:
-
通过使用 canvas.drawBitmap,您可以获得相当大的性能提升。看看这个:stackoverflow.com/questions/4296441/…
标签: java android animation drawable drawbitmap