Android上的数据压缩(比java.util.zip其他?)(Data compression

2019-09-20 03:26发布

我有大量的数据(文本格式)的从设备发送。 这显然意味着,我应该压缩。 但我的问题是,是否有做其他不是通过压缩算法(任何方式这样 )。 我问这个问题的原因是在这里 -一个文本文件,即7-Zip是两倍拉链更好(!)。 这是一个显著增益。 也许有更好的算法。

那么,有没有数据压缩(压缩比更好)的任何有效的方法可用于Android?

Answer 1:

你会需要编译另一个库到你的代码,因为我怀疑比其他压缩算法的zlib可作为对Android标准库的一部分。

你提到的7-ZIP算法实际上是所谓的LZMA,你可以在图书馆的形式获得的LZMA SDK 。 源代码是用Java以及C.可如果你可以链接C代码到你的应用程序,这将是最好的速度。

由于没有这样的事,作为一个免费的午餐,速度是很重要的。 LZMA将需要更多的内存和更多的执行时间,以实现改进的压缩。 您应该LZMA和zlib对数据进行实验,看看你想的权衡执行时间和压缩之间的下跌,都选择包和包内挑压缩级别。

如果你发现你想要走另外一条路,少压缩,甚至更高的速度比zlib的,你可以看看LZ4 。



Answer 2:

你的问题太笼统。

你可以使用任何库,只要它是在Java或C / C ++(通过NDK)。 如果你不想使用外部库,你必须坚持到什么是在SDK中。 根据您是如何发送数据,有可能是标准的方式来做到这一点。 例如,HTTP使用gzip和具有已定义必要的标头。

总之,测试不同的事情与你预期的数据格式和大小,找到最好的之一,它集成到应用中。



文章来源: Data compression on Android (other than java.util.zip ?)