Я столкнулся с проблемой, что HTTP-запросы нашего приложения для Android довольно часто истекают, и мне нужно найти разумный уровень для ограничений времени ожидания и количества повторных попыток.
Текущее реализованное решение (не моя реализация) с использованием apache DefaultHttpClient выполняет три повторных попытки вручную с увеличением времени ожидания, как показано здесь:
private static final int[] CONNECTION_TIMEOUTS = new int[] {4000, 5000, 10000};
private static final int[] SOCKET_TIMEOUTS = new int[] {5000, 8000, 15000};
Мне трудно понять, почему текущая реализация использует увеличение времени ожидания и что это пытается решить. Приложение большую часть времени используется, когда телефон подключен к 3G. Есть ли у кого-нибудь объяснение, почему предпочтительнее увеличивать время ожидания с каждой повторной попыткой, или, возможно, у кого-то есть передовой опыт обработки HTTP-запросов в сетях 3G?