解决Httpclient.exec(method)不执行或抛出异常的方法

在 Android 4.0 版本之后,为了提高应用性能,HTTP 相关操作需要被放置到线程中进行处理。本文详细介绍了如何通过创建新线程来优化 HTTP 操作,以及在 Activity 中使用 StrictMode 来增强应用的安全性和稳定性。通过合理利用线程,开发者可以有效避免主线程阻塞,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在android4.0后,Http相关操作要放到线程里面。可以通过新建线程来解决。

new Thread(){
public void run(){

代码块

或在activity里面加上如下代码:

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
        .detectDiskReads()
        .detectDiskWrites()
        .detectAll()   // or .detectAll() for all detectable problems
        .penaltyLog()
        .build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
        .detectLeakedSqlLiteObjects()
        .detectLeakedClosableObjects()
        .penaltyLog()
        .penaltyDeath()
        .build());

ERROR 2025-08-12 10:23:28.560 [http-nio-8080-exec-4] dkcs.cmm.util.UtilExceptionMessage[showErrorLog:67] - org.apache.http.client.ClientProtocolException org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186) org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:220) org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:164) org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:139) dkcs.cmm.util.HttpSender.procGet(HttpSender.java:164) dkcs.cmm.util.HttpSender.sendHttp(HttpSender.java:109) dkcs.cmm.util.HttpSender.sendHttpGet(HttpSender.java:59) dkcs.dkc.web.man.service.impl.CustInfoServiceImpl.reqGaProfile(CustInfoServiceImpl.java:794) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:569) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) jdk.proxy3/jdk.proxy3.$Proxy46.reqGaProfile(Unknown Source) dkcs.dkc.use.api.IFASH62052Controller.reqMasterUid(IFASH62052Controller.java:77) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:569) org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMe 这是什么错误
最新发布
08-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值