我有很多数据(文本格式)要从设备发送。这显然意味着我应该压缩它。但我的问题是,除zip算法之外是否还有其他方法可以做到这一点(like this)。我问这个问题的原因是在here以上 - 对于文本文件,即7-zip比zip更好两倍(!)。这是一个重大的收益。也许还有更好的算法。Android上的数据压缩(除java.util.zip?)
那么是否有任何有效的数据压缩方式(比zip更好)可用于Android?
我有很多数据(文本格式)要从设备发送。这显然意味着我应该压缩它。但我的问题是,除zip算法之外是否还有其他方法可以做到这一点(like this)。我问这个问题的原因是在here以上 - 对于文本文件,即7-zip比zip更好两倍(!)。这是一个重大的收益。也许还有更好的算法。Android上的数据压缩(除java.util.zip?)
那么是否有任何有效的数据压缩方式(比zip更好)可用于Android?
你的问题太笼统了。
只要使用Java或C/C++(通过NDK),您就可以使用任何库。如果你不想使用外部库,你必须坚持SDK中的内容。根据您发送数据的方式,可能有标准的方法来执行此操作。例如,HTTP使用gzip并且已经定义了必要的头文件。
总之,测试不同的东西与您预期的数据格式和大小,找到最好的一个,并将其集成到您的应用程序。
数据通过自定义协议发送,所以我不会使用HTTP。你能给我一个好的java压缩库的提示吗?我从来没有真正使用过任何。 – alex 2012-07-25 09:25:00
我的:)对于我来说,JDK的已经足够了。而不是随便挑选一个,找一些并根据您的数据进行测试。 – 2012-07-25 09:26:23
两次以及...这当然是一个问题。不同的压缩算法比其他压缩算法更好,特别是对于某些类型的数据压缩,但这不是唯一的考虑因素。标准化,专利权保留和速度非常重要。 – 2012-07-25 10:28:13
快速搜索似乎表明您的简单选择是Zip和Gzip。 – 2012-07-25 10:37:53
zip和gzip使用相同的压缩算法,只是不同的标题和预告片比zip。因此,您可以使用gzip格式在标题和结尾处保存几个字节,如果使用zlib格式,则可以再多保存几个字节。但是,如果使用更高级的压缩算法,需要更多的时间和更多的内存,那么没有什么实质性的。 – 2012-07-25 16:16:03