Android上的数据压缩(java.util.zip除外)?

我有很多要从设备发送的数据(文本格式)。 这显然意味着我应该压缩它。 但我的问题是除了zip算​​法之外是否有任何方法可以做到这一点( 像这样 )。 我问这个问题的原因就在这里 – 对于一个文本文件,即7-zip比zip更好两倍(!)。 这是一个重要的收获。 也许还有更好的算法。

那么Android有哪些有效的数据压缩方法(比zip更好)?

您需要在代码中编译另一个库,因为我怀疑除了zlib之外的压缩算法是否可用作Android上标准库的一部分。

您引用的7-zip算法实际上称为LZMA,您可以在LZMA SDK中以库的forms获取。 源代码在Java和C中都可用。如果您可以将C代码链接到您的应用程序中,那么速度会更好。

由于没有免费午餐,速度很重要。 LZMA将需要更多的内存和更多的执行时间来实现改进的压缩。 您应该在数据上试验LZMA和zlib,以查看在执行时间和压缩之间需要权衡的位置,以便选择包并在包中选择压缩级别。

如果你发现你想要转向另一种方式,比zlib更少的压缩甚至更高的速度,你可以看看lz4 。

你的问题太笼统了。

您可以使用任何库,只要它是Java或C / C ++(通过NDK)。 如果您不想使用外部库,则必须坚持使用SDK中的内容。 根据您发送数据的方式,可能有标准的方法来执行此操作。 例如,HTTP使用gzip并且已经定义了必要的头文件。

简而言之,使用您期望的数据格式和大小测试不同的东西,find最好的并将其集成到您的应用程序中。