ドキュメントがそのことについて言うことを理解できません。Android HttpURLConnection:gzip圧縮
デフォルトでは、このHttpURLConnection実装は、サーバーでgzip圧縮を使用するよう要求します。 getContentLength()は送信されたバイト数を返しますので、そのメソッドを使用してgetInputStream()から読み取ることができるバイト数を予測することはできません。代わりに、そのストリームが使い果たされるまでストリームを読み込みます:read()は-1を返します。 Gzip圧縮は、リクエストヘッダに許容可能なエンコーディングを設定することで無効にすることができます。
urlConnection.setRequestProperty("Accept-Encoding", "identity");
私は、現在の実装では、実際に(conn.getInputStream()を使用して)それを返す前にストリームを解凍するかどうかを知りたいのか、それならば接続が自動的にgzipエンコーディングのヘッダーを送信するというだけで、それを管理する必要があります。
ありがとうございました。
出典:[Androidデベロッパーブログ - AndroidのHTTPクライアント](のhttp://アンドロイド-開発者。 blogspot.com/2011/09/androids-http-clients.html) – Czechnology