Canvas не сериализуем, поэтому вы не сможете этого сделать.
http://developer.android.com/reference/android/graphics/Canvas.html
в объектах Canvas есть частное состояние, которое вы не сможете захватить, даже если вы напишите свою собственную схему сериализации.
вам нужно будет подумать о другой структуре данных, которая доступна вам. например, растровое изображение может быть закодировано и записано в поток и, следовательно, передано по сети.
вот пост, в котором говорится о сохранении холста в растровое изображение, а затем в JPG,
Изображение на холсте в файл JPEG
Что касается пересылки без сохранения, вы можете хранить в памяти все, что захотите, так что это не проблема. вам нужно подумать о нагрузке на сервер. если вы столкнетесь с ситуацией, когда у вас есть много данных изображения в памяти. это исчерпает ресурсы на вашем сервере.
что касается отправки в другие приложения, вам нужно будет отправить push-сообщение C2DM на целевое устройство / приложение, которое говорит: «На сервере есть что-то для вас, приходите и получите это». например, когда одно приложение помещает данные на сервер, у них есть идентификатор. C2DM включает этот идентификатор, поэтому целевые приложения выполняют GET с этим идентификатором, чтобы получить соответствующее изображение. обратите внимание, что данные изображения будут зависать в памяти в течение неопределенного периода времени, так как нет никакой гарантии, когда или если толчок C2DM попадет на все целевые устройства. Возможно, имеет смысл записать данные в постоянное хранилище (например, в базу данных или файловую систему), хотя бы временно.