使用AsyncHttpClient遇到 http 500错误不停的 GC AsyncHttpClient GC_CONCURRENT http 500 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还是自己找到原因了,来回复下 @Override public void onSuccess(final int statusCode, final Header[] headers, final String responseBody) { if (statusCode != HttpStatus.SC_NO_CONTENT) { new Thread(new Runnable() { @Override public void run() { try { final Object jsonResponse = parseResponse(responseBody); postRunnable(new Runnable() { @Override public void run() { if (jsonResponse instanceof JSONObject) { onSuccess(statusCode, headers, (JSONObject) jsonResponse); } else if (jsonResponse instanceof JSONArray) { onSuccess(statusCode, headers, (JSONArray) jsonResponse); } else if (jsonResponse instanceof String) { onSuccess(statusCode, headers, (String) jsonResponse); } else { onFailure(new JSONException("Unexpected type " + jsonResponse.getClass().getName()), (JSONObject) null); } } }); } catch (final JSONException ex) { postRunnable(new Runnable() { @Override public void run() { onFailure(ex, (JSONObject) null); } }); } } }).start(); } else { onSuccess(statusCode, headers, new JSONObject()); } }在 JsonHttpResponseHandler 类代码里面其中一个 onSuccess 和 onFailure 在复写他的父类 TextHttpResponseHandler 时出现了死循环,当服务器输出页面的内容出现错误 如 HTTP 500 或者 其他非 JSON 字符串的内容时将无法解析,导致重复调用 onSuccess(statusCode, headers, (String) jsonResponse); 方法,重复调用自己而出现死循环。因此这个 JsonHttpResponseHandler 不能使用了,只能自己重新实现,o(︶︿︶)o 唉。。崩溃 卧槽,去看了下 https://github.com/loopj/android-async-http/blob/master/library/src/main/java/com/loopj/android/http/JsonHttpResponseHandler.java github 上的项目代码,果然使这个地方的问题,官方库最新版 20 小时前才修复更新该问题,太坑爹了 楼主你好,我遇到了一个问题,就是使用android-async-http进行post提交的时候不知道怎么提交。能留下联系方式交流一下吗?我的qq是519213534,谢谢啦 新人求教:Eclipse里新建android app问题 Widget 制作 android源码中模拟器启动不起来了。 eclipse下开发android问题? android版本问题 问个超简单问题!字符串的。。我是菜鸟~ 求大神指点!!!!! 来电显示 安卓开发错误日志什么意思? android.view.WindowManager$BadTokenException 自定义RadioButton样式的问题 怎么销毁一个activity?
public void onSuccess(final int statusCode, final Header[] headers, final String responseBody) {
if (statusCode != HttpStatus.SC_NO_CONTENT) {
new Thread(new Runnable() {
@Override
public void run() {
try {
final Object jsonResponse = parseResponse(responseBody);
postRunnable(new Runnable() {
@Override
public void run() {
if (jsonResponse instanceof JSONObject) {
onSuccess(statusCode, headers, (JSONObject) jsonResponse);
} else if (jsonResponse instanceof JSONArray) {
onSuccess(statusCode, headers, (JSONArray) jsonResponse);
} else if (jsonResponse instanceof String) {
onSuccess(statusCode, headers, (String) jsonResponse);
} else {
onFailure(new JSONException("Unexpected type " + jsonResponse.getClass().getName()), (JSONObject) null);
} }
});
} catch (final JSONException ex) {
postRunnable(new Runnable() {
@Override
public void run() {
onFailure(ex, (JSONObject) null);
}
});
}
}
}).start();
} else {
onSuccess(statusCode, headers, new JSONObject());
}
}
在 JsonHttpResponseHandler 类代码里面其中一个 onSuccess 和 onFailure 在复写他的父类 TextHttpResponseHandler 时出现了死循环,当服务器输出页面的内容出现错误 如 HTTP 500 或者 其他非 JSON 字符串的内容时将无法解析,导致重复调用 onSuccess(statusCode, headers, (String) jsonResponse); 方法,重复调用自己而出现死循环。
因此这个 JsonHttpResponseHandler 不能使用了,只能自己重新实现,o(︶︿︶)o 唉。。崩溃