2011-04-05 9 views
8

Httpclient 용 클래스가 있습니다. 응용 프로그램 전체에서 동일한 인스턴스가 사용됩니다. 따라서 클라이언트가 == null이면 다른 인스턴스를 만들어야합니다. 기존 인스턴스를 반환합니다. 모든 작업을 수행하여 종료 할 때까지 리소스를 해제하려고 할 때까지 작동합니다. client.getConnectionManager(). shutdown(); ....이 후 다시 로그인 할 수 없습니다. 그것은 Sysem에게 다음과 같은 오류 메시지를줍니다 : 연결 풀 종료. 클래스를 Heres :연결 풀 종료 android

public class HttpClientFactory { 
    private static DefaultHttpClient client;   
    public synchronized static DefaultHttpClient getThreadSafeClient() { 
    if (client != null) 
     return client; 

    client = new DefaultHttpClient(); 
    SchemeRegistry schemeRegistry = new SchemeRegistry(); 
    schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); 
    schemeRegistry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443)); 
    HttpParams params = new BasicHttpParams(); 
    SingleClientConnManager mgr = new SingleClientConnManager(params, schemeRegistry); 
    client = new DefaultHttpClient(mgr, params); 

    return client; 
} 
} 

이 후 나는 단순히 client.getConnectionManager(). shutdown();을 실행한다. 누군가가 나에게

답변

5

알았어요,있어 난 다시 null로 및 연결 종료 같은 글로벌 클래스에서 수행 할 생각됩니다으로 설정되지 않은 ... 솔루션 ...

3
도와주세요 수) (onBackPressed

비슷한 문제가 발생했으나 세트를

client.getConnectionManager().shutdown() 
client.getConnectionManager() = null 

해결되지 않은 문제를 해결할 수 없습니다.

마지막으로, 나는 에 doInBackground로 이동 한 후, 작동, 그래서 잘못 onPostExecute을 모두 닫고 연결을 한 것을 발견했다.

희망이 있으면 도움이됩니다.

+0

왜 client.getConnectionManager() = null이 필요합니까? 할당의 왼쪽은 변수 여야합니다 – juejiang