GZIPInputStream не работает с IOException в Android 2.3, но отлично работает во всех предыдущих выпусках?

Сегодня я обновил свой телефон до Gingerbread (2.3.2) и запустил приложение, которое я разработал, и увидел, что оно не может загрузить свои данные . Приложение отлично работает на всех остальных версиях Android, которые я тестировал от 1.6 до 2.2, но затем IOException в Gingerbread. Кто-нибудь знает, изменилось ли что-то в GZipInputStream или URL.openStream ()?

Проблемный код похож на следующий:

InputStream in = null;
GZIPInputStream zin = null;
URL url = null;
try {
    url = new URL("http://www.test.com/gzipped_data.gz");
    in = url.openStream();
    zin = new GZIPInputStream(in);
}
catch (MalformedURLException e) { 
    return false;
} 
catch (IOException e) {
    return false;
}

В версиях с 1.6 по 2.2 этот код работает нормально, в 2.3 я получаю исключение IOException с сообщением о том, что волшебный блок неверен. Я предполагаю, что что-то изменилось с openStream, что испортило MIME-тип или что-то в этих данных. Я читал в других местах, что openStream - не самый надежный способ обработки HTTP-соединений, так что это может быть хорошим предлогом для переделки моего кода соединений.

5
задан h22 1 February 2013 в 19:41
поделиться