how do you pass images (bitmaps) between android activities using bundles?

android, bundle, image

Solution

I would highly recommend a different approach.

It's possible if you REALLY want to do it, but it costs a lot of memory and is also slow. It might not work if you have an older phone and a big bitmap. You could just pass it as an extra, for example `intent.putExtra("data", bitmap)`. A Bitmap implements Parcelable, so you can put it in an extra. Likewise, a bundle has `putParcelable`.

If you want to pass it inbetween activities, I would store it in a file. That's more efficient, and less work for you. You can create private files in your data folder using MODE_PRIVATE that are not accessible to any other app.

Problem

Suppose I have an activity to select an image from the gallery, and retrieve it as a BitMap, just like the example: here Now, I want to pass this BitMap to be used in an ImageView for another activity. I am aware bundles can be passed between activities, but how would I store this BitMap into the bundle? or is there another approach I should take?

Original source

Related problems