次の関数では:
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap( bmp ,0,0,null);
ViewCompat.postOnAnimationDelayed( this, new Runnable() {
@Override
public void run() {
Canvas c = new Canvas(bmp);
c.drawColor(Color.BLUE);
}
},1000);
}
bmp は通常のイメージです。
- キャンバスにビットマップを描画しています。
- 次のアニメーション フレーム + 1 秒で、ビットマップの内容を青に変更しています。
- 私は再びビットマップを描いていません。
結果はブルースクリーン。
これは、キャンバスがビットマップへの参照を格納していることを意味しますか?