dev*_*v90 4 performance android deflate android-layout android-fragments
我正在尝试压缩一个大字符串对象。这是我尝试过的,但我无法理解如何获取压缩数据,以及如何定义不同类型的压缩工具。
这是我从 Android 文档中得到的。
byte[] input = jsonArray.getBytes("UTF-8");
byte[] output = new byte[100];
Deflater compresser = new Deflater();
compresser.setInput(input);
compresser.finish();
int compressedDataLength = compresser.deflate(output);
compresser.end();
Run Code Online (Sandbox Code Playgroud)
compresser.deflate(output)给我一个int号码100
但我无法理解哪种方法可以为我提供可以发送给服务的压缩输出。
我用来压缩数据的算法是 Huffman。您可以通过简单的搜索找到它。但在您的情况下,它可能对您有所帮助:
public static byte[] compress(String data) throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream(data.length());
GZIPOutputStream gzip = new GZIPOutputStream(bos);
gzip.write(data.getBytes());
gzip.close();
byte[] compressed = bos.toByteArray();
bos.close();
return compressed;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5601 次 |
| 最近记录: |