大家好,我想知道是否可以绘制到一个离屏画布/位图,并利用硬件加速,还是必须在View的onDraw()方法中绘制。
例如,我通过以下方式绘制到离屏位图:
Bitmap.Config config = Bitmap.Config.ARGB_8888;
Bitmap buffer = Bitmap.createBitmap(200, 200, config);
Canvas canvas = new Canvas(buffer);
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawLine(0, 0, 100, 100, paint);
然而,
canvas.isHardwareAccelerated()
返回 false,并且与以下情况相比绘图较为缓慢:protected void onDraw(Canvas canvas) {
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawLine(0, 0, 100, 100, paint);
}
在
canvas.isHardwareAccelerated()
返回true的情况下,有没有一种方法可以利用硬件加速绘制到位图上?或者我必须直接在onDraw方法中绘制到屏幕上吗?谢谢你的帮助 :) 我知道在Java中,我可以绘制到一个离屏的BufferedImage上,并且它会被硬件加速,但也许在手机上不是这样的。