Java Android中的快速无损图像压缩?
我需要以无损格式将一系列大型位图保存到Android中的磁盘。但是,我发现内置的PNG编码器非常慢,例如,当我需要大约2秒的时间时,保存3张大图像需要大约8秒。在Android中保存位图还有其他无损选项吗Java Android中的快速无损图像压缩?,java,android,graphics,mobile,Java,Android,Graphics,Mobile,我需要以无损格式将一系列大型位图保存到Android中的磁盘。但是,我发现内置的PNG编码器非常慢,例如,当我需要大约2秒的时间时,保存3张大图像需要大约8秒。在Android中保存位图还有其他无损选项吗 我很乐意牺牲一点磁盘空间来提高速度。但是,在Android中保存PNG图像的压缩级别参数在PNG中被忽略(按设计)。也许有一些简单易用的选项涉及NDK?慢度可能取决于您保存它的方式。您尝试过使用吗 慢度可能取决于你如何保存它。你试过使用吗 图像保存发生在对新线程(…).start()的调用中。
我很乐意牺牲一点磁盘空间来提高速度。但是,在Android中保存PNG图像的压缩级别参数在PNG中被忽略(按设计)。也许有一些简单易用的选项涉及NDK?慢度可能取决于您保存它的方式。您尝试过使用吗 慢度可能取决于你如何保存它。你试过使用吗 图像保存发生在对新线程(…).start()的调用中。在进行保存时,我会显示一个ProgressDialog。AsyncTasks的优先级较低,因此我认为AsyncTask的速度会较慢。映像保存发生在对新线程(…).start()的调用中。在进行保存时,我会显示一个ProgressDialog。AsyncTasks的优先级较低,所以我认为AsyncTask会更慢。多大?我认为对于移动设备来说,每张图像2.5秒就足够了。@Reno:大约5张800x600的图像,大约是10Mb的原始数据。我希望原始数据可以在2秒内写入,但是这个数据太大了。PNG大约8秒太长,但压缩效果要好得多。我在看这两种选择之间是否有什么区别。我认为单靠RLE/packbits压缩就可以了,但是没有内置的方法可以做到这一点。我尝试过使用Deflate(它是Java的一部分),但是速度很慢。大的是多少?我认为对于移动设备来说,每张图像2.5秒就足够了。@Reno:大约5张800x600的图像,大约是10Mb的原始数据。我希望原始数据可以在2秒内写入,但是这个数据太大了。PNG大约8秒太长,但压缩效果要好得多。我在看这两种选择之间是否有什么区别。我认为单靠RLE/packbits压缩就可以了,但是没有内置的方法可以做到这一点。我尝试过使用Deflate(它是Java的一部分),但是速度非常慢。