2013-05-10 25 views
8

Tam olarak Java'nın Deflater.DEFAULT_COMPRESSION hangi DEFLATE sıkıştırma seviyelerinden [0 .. 9] hangisi? Java kodu sınıfı new ZStreamRef(init(level, DEFAULT_STRATEGY, nowrap)); başlatma yöntemi, doğal çağrı kullanır ve ZStreamRef zlib için bir referans public static final int DEFAULT_COMPRESSION = -1;Tam olarak DEFAULT_COMPRESSION nedir?

cevap

7

Z_DEFAULT_COMPRESSION itibaren

hız ve sıkıştırma etkinliği arasında iyi bir uzlaşma olması amaçlanmıştır. Eğride diz var. Şu anda 6'ya eşdeğer olan gerçek seviye, sıkıştırma algoritması değiştiğinde gelecek sürümlerde değişebilen dahili bir seçimdir. Bu nedenle, 6. seviyeye eşdeğerde kalmamanız gerekir.

9

Java kaynak kodu, bunu bkz. Yani her zaman zlib varsayılan olarak kullanır. 1.2.8 sürümünde, varsayılan değer belirtilmiş devnull gibi 6'dır. zlib kılavuzuna

Compression levels. 
#define Z_NO_COMPRESSION   0 
#define Z_BEST_SPEED    1 
#define Z_BEST_COMPRESSION  9 
#define Z_DEFAULT_COMPRESSION (-1) 
... 
Z_DEFAULT_COMPRESSION requests a default compromise between speed and compression (currently equivalent to level 6).