I had a similar problem on Android 1.5, while Android 1.6, 2.1 and 2.2 worked fine.
In my case, bitmap.compress (Bitmap.CompressFormat.PNG, 100, outputstream) crashed only on bitmaps created from PNG images using BitmapFactory.decodeByteArray (...)
A workaround / solution to this problem was to clone such a bitmap before calling its compress (...) method, as in the code below
boolean success = bitmap.compress(CompressFormat.PNG, 100, outputStream); if (! success) { Bitmap cloneImg = Bitmap.createScaledBitmap(bitmap, bitmap.getWidth(), bitmap.getHeight(), false); outputStream = new ByteArrayOutputStream(); cloneImg.compress(CompressFormat.PNG, 100, outputStream); }
source share