creando un bitmap vacío y un canvas de dibujo en Android

Me gustaría crear un bitmap vacío y establecer un canvas en ese bitmap y luego dibujar cualquier forma en bitmap.

Esto es probablemente más simple de lo que estás pensando:

int w = WIDTH_PX, h = HEIGHT_PX; Bitmap.Config conf = Bitmap.Config.ARGB_8888; // see other conf types Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap Canvas canvas = new Canvas(bmp); // ready to draw on that bitmap through that canvas 

Aquí hay una serie de tutoriales que he encontrado sobre el tema: Dibujo con Canvas Series

No use Bitmap.Config.ARGB_8888

En su lugar, use int w = WIDTH_PX, h = HEIGHT_PX;

 Bitmap.Config conf = Bitmap.Config.ARGB_4444; // see other conf types Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap Canvas canvas = new Canvas(bmp); // ready to draw on that bitmap through that canvas 

ARGB_8888 puede enviarte a problemas de OutOfMemory cuando tratas con más mapas de bits o grandes mapas de bits. O mejor aún, intente evitar el uso de la opción ARGB en sí.