Мое приложение должно сохранять большие изображения в формате без потерь. Я готов пожертвовать некоторым дисковым пространством ради скорости сохранения, и я бы предпочел сохранять в каком-то стандартизированном формате вместо того, чтобы катиться по собственной.
Я обнаружил, что встроенный кодер .PNG работает довольно медленно для моих нужд, иногда требуется около 5 секунд для сохранения изображения 1000x1000. Я обнаружил, что могу гораздо быстрее сохранять изображения, сохраняя необработанные значения пикселей на диск (т.е. без сжатия) и сохраняя необработанные значения пикселей, сжатые с помощью класса deflate Java с измененными настройками сжатия. К сожалению, я не знаю, как изменить уровень сжатия PNG в Android.
Какие варианты у меня есть?
Я готов использовать NDK, но я осторожен с использованием внешней библиотеки, которая не была хорошо протестирована на Android. Например, libtiff был бы кандидатом, но я не могу найти какую-либо информацию о том, как это работает в NDK и насколько стабильно оно работает.