5

デバイスから送信する大量のデータ (テキスト形式) があります。それは明らかに、圧縮する必要があることを意味します。しかし、私の質問は、zipアルゴリズム以外にそれを行う方法があるかどうかです(このように)。私がこの質問をする理由はここにあります。テキスト ファイルの場合、つまり 7-zip は zip よりも 2 倍 (!) 優れています。これは大きな利益です。さらに優れたアルゴリズムがあるかもしれません。

Androidで利用できるデータ圧縮(zipよりも優れた)の効果的な方法はありますか?

4

2 に答える 2

6

zlib以外の圧縮アルゴリズムがAndroidの標準ライブラリの一部として利用できるとは思えないので、別のライブラリをコードにコンパイルする必要があります。

参照する7-zipアルゴリズムは、実際にはLZMAと呼ばれ、 LZMASDKでライブラリ形式で取得できます。ソースコードはJavaとCで利用できます。Cコードをアプリケーションにリンクできる場合は、速度を上げるためにそれが望ましいでしょう。

フリーランチなどないのでスピードが大事です。LZMAは、圧縮を改善するために、はるかに多くのメモリと実行時間を必要とします。データでLZMAとzlibを試して、パッケージの選択とパッケージ内の圧縮レベルの選択の両方で、実行時間と圧縮の間のトレードオフをどこに置くかを確認する必要があります。

zlibよりも圧縮率を低くし、さらに高速にするという逆の方法が必要な場合は、lz4を参照してください。

于 2012-07-25T16:23:06.003 に答える
-1

あなたの質問は一般的すぎます。

Java または C/C++ (NDK 経由) であれば、任意のライブラリを使用できます。外部ライブラリを使用したくない場合は、SDK の内容に固執する必要があります。データの送信方法によっては、これを行う標準的な方法がある場合があります。たとえば、HTTP は gzip を使用し、必要なヘッダーが既に定義されています。

つまり、予想されるデータ形式とサイズでさまざまなことをテストし、最適なものを見つけてアプリに統合します。

于 2012-07-25T09:18:43.943 に答える