HttpClient.execute() 阻塞问题
来源:互联网 发布:网络推广这工作靠谱吗 编辑:程序博客网 时间:2024/06/06 21:34
在实现安卓与PHP后台交互过程中,当安卓利用HttpPost去后台获取数据时,代码执行到下面这句就阻塞了:
<span style="font-size:14px;">httpClient.execute(httpPost);</span>
一开始找到资料说是新开一个线程执行上述语句,于是我便利用如下方式尝试了:
<span style="font-size:14px;">new Thread() {<span style="white-space:pre"></span>public void run(){<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>HttpResponse response = httpClient.execute(httpPost);<span style="white-space:pre"></span>} catch (Exception e) {<span style="white-space:pre"></span>e.printStackTrace();<span style="white-space:pre"></span>}}}.start();</span>
这个的确可以解决 HttpClient.execute() 的阻塞问题,但是在不同的线程中执行代码时,由于代码执行的时间不一样,这便容易产生数据不一致的问题,比如我现在要登录,一开始输入的帐号密码是正确的,但是点击登录之后没响应。接着我又输了个错误的帐号密码然后登录,结果竟然能登录。
因此后来换用了一个办法,即在安卓主线程或者任何一个其他的子线程中加入以下代码,不用另开线程也能解决 HttpClient.execute 的阻塞问题:
<span style="font-size:14px;">StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog() .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() .detectLeakedClosableObjects() .penaltyLog() .penaltyDeath() .build());</span>
0 0
- HttpClient.execute() 阻塞问题
- HttpClient的execute的阻塞问题
- httpclient.execute长时间停滞问题
- httpClient访问网络,httpclient.execute(httpGet)方法不执行问题
- httpclient HttpResponse response = client.execute(post);报空指针问题
- 如何解决httpResponse = httpClient.execute(httpGet);无法执行的问题?
- Apache HttpClient 没有设置time out导致应用长时间阻塞的问题
- 爬虫爬取页面过程中HttpClient导致的进程阻塞问题
- 关闭防火墙解决httpclient.execute长时间停滞
- 在AsyncTask的doInBackground方法中调用HttpClient的execute方法,HttpGet地址为内网时无问题,部署到外网就不执行了
- 解决Android中AsyncTask的多线程阻塞问题,android 3.0以后AsyncTask的execute ()方法发生了改变
- 简单的传统的阻塞的httpclient
- Android 无法用HttpClient.execute(httpGet)访问网页
- httpclient.execute()不执行也不报错解决办法
- response = httpClient.execute(httpGet)不返回response
- execute返回值的问题
- HttpClient乱码问题
- HttpClient乱码问题
- 第十一周项目3 - 点类派生直线类
- LeetCode Search for a Range
- 吉他和弦小记
- UIImage 图像-IOS开发
- c/c++ 笔记本
- HttpClient.execute() 阻塞问题
- 【Android】SlidingMenu属性详解
- 针对类的向量增加及获得元素示例
- MPMoviePlayerController 电影播放器—IOS开发
- 第十一周项目4 - 类族的设计
- 第九周 项目四
- CSS自动加序号-多种有序列表数字序号效果
- win下ADS和linux下命令行Makefile开发
- UITabBarController 标签栏控制器-IOS开发