大家好,我想知道是否可以绘制到屏幕外的画布/位图并利用硬件加速,或者我是否必须onDraw()
在View
例如,我通过执行以下操作绘制到屏幕外位图:
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()
返回真。有没有办法在利用硬件加速的同时绘制位图?还是我必须在 onDraw 方法中直接绘制到屏幕上?
谢谢你的帮助:)我知道在Java中我可以画到屏幕外的BufferedImage,它会被硬件加速,但在手机上可能不一样......