使用ssl时,在AndroidHttpClient上调用.close会崩溃

时间:2013-07-06 20:10:15

标签: android

我正在使用AndroidHttpClient向登录页面发出https发布请求。客户端实例创建如下:

AndroidHttpClient client = AndroidHttpClient.newInstance("Android");

在向https://mydomain.com/login发出请求后,我的活动在以后调用client.close()时崩溃。

连接返回一个有效的响应,当不在同一个域(http://mydomain.com/login)上使用ssl时,一切正常,我可以调用client.close()而不会崩溃。

我没有查看源代码,但Android的文档非常简短,只是说应该调用.close来释放与客户端相关的资源。这是预期的行为还是我错过了其他的东西?是否有更好的方法来关闭/释放此类对象的资源?

2 个答案:

答案 0 :(得分:1)

关于您的NetworkOnMainThreadException: 在UI线程上执行onPreExecute,onProgressUpdate和onPostExecute这三个方法。这是AsyncTasks的要点之一。 因此,请将close()来电转移至doInBackground()

答案 1 :(得分:0)

抱歉,这是一个愚蠢的问题,并且与在onPostExecute中调用client.close()有关,我想在主线程中执行它?将其移入doInBackground方法可以解决问题。