У меня небольшая проблема с простым HTTP-запросом GET, который я написал и который будет запрашивать URL каждые X минут.У меня было раз или два в день, когда процесс останавливался посреди запроса GET.
Вот пример журнала отладки:
12-07 16:29:22.650 V/TAG(11655): Executing HTTP Request
12-07 16:29:25.336 D/dalvikvm(11655): GC_CONCURRENT freed 366K, 50% free 2824K/5639K, external 0K/0K, paused 3ms+3ms
12-07 16:29:25.526 D/dalvikvm(11655): GC_CONCURRENT freed 450K, 52% free 2825K/5767K, external 0K/0K, paused 2ms+2ms
12-07 16:29:29.990 I/ActivityManager( 1339): Process PackageName:remote (pid 11655) has died.
12-07 16:29:29.990 I/ActivityManager( 1339): Low Memory: No more background processes.
Теперь это просто вывело две проблемыдля меня:
Во-первых, указанное мной время ожидания не работает:
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 10000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 10000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
HttpClient client=new DefaultHttpClient(httpParameters);
HttpGet request=new HttpGet(url);
Log.v(TAG,"Executing HTTP Request");
HttpResponse response=client.execute(request);
Вторая проблема заключается в том, что я не могуувидеть причину, по которой процесс умер - это сообщение «умер» то же самое, если его убивают из-за нехватки памяти?Поскольку время ожидания здесь не достигнуто (client.execute находится в блоке try / catch)
Спасибо за ваши ответы!