2012-02-17 43 views
10

thể trùng lặp:
Exception using HttpRequest.execute(): Invalid use of SingleClientConnManager: connection still allocatedAndroid: sử dụng không hợp lệ của SingleClientConnManager: kết nối vẫn được phân bổ

Tôi đang làm việc trong Android. Tôi tạo ra lớp HttpSingleton để tạo ra duy nhất lập trình của HttpClient trong ứng dụng hoàn chỉnh của tôi.

Đây là mã của tôi để sử dụng lớp này: -

HttpGet get = new HttpGet("url/dologin/savitagupta/savitagupta"); 
**HttpResponse rp = HttpSigleton.getInstance().execute(get);**   
if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { 
    // some code here 
} 

và đây là lớp học của tôi ví dụ đơn

public class HttpSigleton { 
    private static HttpClient instance = null; 
    protected HttpSigleton() { 

    } 
    public static HttpClient getInstance() { 
    if(instance == null) { 
     instance =new DefaultHttpClient(); 
    } 
    return instance; 
} 
} 

Sau đó lỗi xảy ra là: -

SingleClientConnManager: không hợp lệ sử dụng SingleClientConnManager: kết nối vẫn được cấp phát. Đảm bảo giải phóng kết nối trước khi phân bổ kết nối khác. Hãy gợi ý cho tôi những sai lầm mà tôi đã làm. Tôi thực sự cần giúp đỡ của bạn. Cảm ơn bạn trước.

Trả lời

20

Sau khi gọi:

HttpResponse rp = HttpSigleton.getInstance().execute(get); 

Hãy chắc chắn rằng bạn thực hiện một cuộc gọi đến một trong hai:

String html = EntityUtils.toString(rp.getEntity() /*, Encoding */); 

hoặc

EntityUtils.consume(rp.getEntity()); 
Các vấn đề liên quan