【发布时间】:2018-09-03 06:43:51
【问题描述】:
下面的方法有效,但不幸的是,这种方法涉及创建整个屏幕大小的位图 - 而不仅仅是绘制到的区域。如果我使用它来绘制 UI 元素,则会为每个 UI 元素重绘。这可以更有效地完成吗?
@Override
protected void onDraw(Canvas canvas) {
//TODO: Reduce the burden from multiple drawing
Bitmap bitmap=Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Config.ARGB_8888);
Canvas offscreen=new Canvas(bitmap);
super.onDraw(offscreen);
//Then draw onscreen
Paint p=new Paint();
p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DARKEN));
canvas.drawBitmap(bitmap, 0, 0, p);
}
【问题讨论】:
标签: android