AndroidHttpClient를 사용하여 로그인 페이지에 https 게시물 요청을하고 있습니다. 클라이언트 인스턴스는 다음과 같이 생성됩니다ssl을 사용할 때 AndroidHttpClient에서 .close를 호출하면 충돌이 발생합니다.
AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
나중에 client.close를 호출 할 때 내 활동 충돌 https://mydomain.com/login하는 요청을 한 후().
연결이 유효한 응답을 반환하고 동일한 도메인 (http://mydomain.com/login)에서 ssl을 사용하지 않으면 모든 것이 제대로 작동하므로 crash없이 client.close()를 호출 할 수 있습니다.
나는 소스 코드를 보지 않았지만 이것에 관한 안드로이드의 문서는 매우 간단하다. 클라이언트와 관련된 리소스를 해제하기 위해 .close를 호출해야한다고 말하면된다. 이 예상되는 동작입니까 아니면 다른 것을 놓치고 있습니까? 이 유형의 객체에 대한 자원을 닫거나 해제하는 더 좋은 방법이 있습니까?
logcat에 크래시가 표시되는지 확인하십시오. 그렇다면 logcat을 게시하십시오. – chr
죄송합니다. 예외는 android.os.NetworkOnMainThreadException입니다. 나는 asyncTask의 onPostExecute에서 client.close()를 호출하고 있는데, 이는 asyncTask가 여전히 메인 스레드에 있지 않아야한다고 생각한다. – J2K
http://developer.android.com/reference/android/os/AsyncTask.html에 따르면, onPostExecute'는 UI 스레드에서 호출됩니다. 그래도 도움이되지 않으면 코드를 더 게시하십시오. 코드가 크면 SSCCE로 만드십시오. – chr