canvas.drawBitmap是否重绘了android中的整个屏幕?

时间:2013-07-25 00:03:38

标签: java android android-canvas

我在android中使用surfaceholdercanvas将视频流传输到手机。我的算法将矩形写入位图,但只有一些矩形发生变化。我用setpixels更改位图。然后我调用onDraw(canvas)并执行canvas.drawBitmap(image, 0, 0, null)重绘位图。但是它会使用额外的资源重绘没有改变的区域吗?我应该为每个磁贴创建一个位图,只重绘那些更改的位图吗?

1 个答案:

答案 0 :(得分:0)

我认为你担心自己的表现。如果您的图像代表整个屏幕,那么画布肯定会绘制一个大位图。但是你提到你使用矩形来改变setpixels的位图。你为什么不把这些像素做成小位图?并通过

绘制小位图
canvas.drawBitmap(smallImage, x, y, paint)