Я немного поработал с Bitmaps Android и узнал, что сжатие PNG занимает гораздо больше времени, чем даже самое высокое качество JPEG. Намного больше. На моем устройстве это может быть примерно до 10 секунд против 1.
AFAIK, PNG - это в основном отфильтрованные строки пикселей, сжатые с дефлятом. Ну, найти лучший фильтр для каждой строки может потребовать много времени, но может быть достигнута компромисс между скоростью и эффективностью сжатия. Это не должно быть медленнее, чем JPEG. Как получилось?
Может быть, наоборот. Есть ли сверхбыстрая реализация JPEG на Android?
ОБНОВЛЕНИЕ: Я действительно делаю что-то вроде
mBitmap.compress(CompressFormat.JPEG, 100, stream);
и
mBitmap.compress(CompressFormat.PNG, 100, stream);